Insta360Develop / CameraSDK-Android

Android SDK to control Insta360 cameras
80 stars 9 forks source link

Verifier rejected class com.arashivision.insta360.basemedia.util.FileUtils #33

Open c3riz88 opened 1 year ago

c3riz88 commented 1 year ago

Hi,

It seems that the FileUtils class used by WorkerUtils.getAllCameraWorks function to get filenames is not compatble with Kotlin. A runtime exception is thrown by java.lang.VerifyError. Do you think the support could be improved in the next version ?

Regards,

23:12:53.574  E  FATAL EXCEPTION: AsyncTask #1
                 Process: com.###.development, PID: 23973
                 java.lang.RuntimeException: An error occurred while executing doInBackground()
                    at android.os.AsyncTask$4.done(AsyncTask.java:415)
                    at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:381)
                    at java.util.concurrent.FutureTask.setException(FutureTask.java:250)
                    at java.util.concurrent.FutureTask.run(FutureTask.java:269)
                    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:305)
                    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
                    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
                    at java.lang.Thread.run(Thread.java:1012)
                 Caused by: java.lang.VerifyError: Verifier rejected class com.arashivision.insta360.basemedia.util.FileUtils: void com.arashivision.insta360.basemedia.util.FileUtils.IL1Iii(java.io.File, java.io.File, boolean) failed to verify: void com.arashivision.insta360.basemedia.util.FileUtils.IL1Iii(java.io.File, java.io.File, boolean): [0x4C] register v1 has type Precise Reference: java.io.FileOutputStream but expected Reference: java.io.FileInputStream
                  void com.arashivision.insta360.basemedia.util.FileUtils.copy(java.io.File, java.io.File, boolean) failed to verify: void com.arashivision.insta360.basemedia.util.FileUtils.copy(java.io.File, java.io.File, boolean): [0x5C] register v1 has type Precise Reference: java.io.FileOutputStream but expected Reference: java.io.FileInputStream (declaration of 'com.arashivision.insta360.basemedia.util.FileUtils' appears in /data/app/~~YLWe7EszDv4PZAuzWusZMw==/com.###.development-2w103zkgQBrc65wC4xpcaA==/base.apk)
                    at com.arashivision.insta360.basemedia.util.FileUtils.getFileUrlName(Unknown Source:0)
                    at com.arashivision.insta360.basemedia.util.MediaUtils.IL1Iii(Unknown Source:6)
                    at com.arashivision.insta360.basemedia.util.MediaUtils.searchCameraMediaModels(:12)
                    at com.arashivision.insta360.basemedia.util.MediaUtils.searchCameraWorks(Unknown Source:0)
                    at com.arashivision.sdkmedia.work.WorkUtils.getAllCameraWorks(:2)
                    at com.###.camera.FooTask.doInBackground(Insta360CameraFragment.kt:391)
                    at com.###.camera.FooTask.doInBackground(Insta360CameraFragment.kt:386)
                    at android.os.AsyncTask$3.call(AsyncTask.java:394)
                    at java.util.concurrent.FutureTask.run(FutureTask.java:264)
                    ... 4 more
Tkorn commented 1 year ago

see this link https://stackoverflow.com/questions/59113152/java-lang-verifyerror-verifier-rejected-class-code-working-fine-in-debug-mode