ClassNotFoundException:K4LVideoTrimmer中的com.coremedia.iso.boxes.FileTypeBox

Sim*_*der 1 android video-processing

我正在尝试集成Video -Trimming https://github.com/knowledge4life/k4l-video-trimmer并面临以下错误.我试图按照各种帖子的建议改变proguard.但是还没有成功.请帮忙.谢谢.

02-15 21:59:20.843 5421-5679/? E/AndroidRuntime: FATAL EXCEPTION: pool-8-thread-2
                                             Process: com.abc.main, PID: 5421
                                             java.lang.RuntimeException: java.lang.ClassNotFoundException: com.coremedia.iso.boxes.FileTypeBox
                                                 at com.b.a.g.a(Unknown Source)
                                                 at com.b.a.a.a(Unknown Source)
                                                 at com.d.a.d.r(Unknown Source)
                                                 at com.d.a.d.hasNext(Unknown Source)
                                                 at com.d.a.c.e$1.hasNext(Unknown Source)
                                                 at com.b.a.d.a(Unknown Source)
                                                 at com.d.a.a.b.a.a.a(Unknown Source)
                                                 at life.knowledge4.videotrimmer.b.b.a(Unknown Source)
                                                 at life.knowledge4.videotrimmer.b.b.a(Unknown Source)
                                                 at life.knowledge4.videotrimmer.K4LVideoTrimmer$3.a(Unknown Source)
                                                 at life.knowledge4.videotrimmer.b.a$a.run(Unknown Source)
                                                 at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)
                                                 at java.util.concurrent.FutureTask.run(FutureTask.java:237)
                                                 at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:154)
                                                 at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:269)
                                                 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
                                                 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
                                                 at java.lang.Thread.run(Thread.java:818)
                                              Caused by: java.lang.ClassNotFoundException: com.coremedia.iso.boxes.FileTypeBox
                                                 at java.lang.Class.classForName(Native Method)
                                                 at java.lang.Class.forName(Class.java:324)
                                                 at java.lang.Class.forName(Class.java:285)
                                                 at com.b.a.g.a(Unknown Source) 
                                                 at com.b.a.a.a(Unknown Source) 
                                                 at com.d.a.d.r(Unknown Source) 
                                                 at com.d.a.d.hasNext(Unknown Source) 
                                                 at com.d.a.c.e$1.hasNext(Unknown Source) 
                                                 at com.b.a.d.a(Unknown Source) 
                                                 at com.d.a.a.b.a.a.a(Unknown Source) 
                                                 at life.knowledge4.videotrimmer.b.b.a(Unknown Source) 
                                                 at life.knowledge4.videotrimmer.b.b.a(Unknown Source) 
                                                 at life.knowledge4.videotrimmer.K4LVideoTrimmer$3.a(Unknown Source) 
                                                 at life.knowledge4.videotrimmer.b.a$a.run(Unknown Source) 
                                                 at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423) 
                                                 at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
                                                 at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:154) 
                                                 at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:269) 
                                                 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) 
                                                 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) 
                                                 at java.lang.Thread.run(Thread.java:818) 
Run Code Online (Sandbox Code Playgroud)

小智 7

这是Proguard的一个已知问题.

解决方法是编辑您的proguard-pro.cfg并添加以下内容:

-keep class * implements com.coremedia.iso.boxes.Box {* ; }
-dontwarn com.coremedia.iso.boxes.*
-dontwarn com.googlecode.mp4parser.authoring.tracks.mjpeg.**
-dontwarn com.googlecode.mp4parser.authoring.tracks.ttml.**
Run Code Online (Sandbox Code Playgroud)

然后你签名的apk不会崩溃.