mp4parser在Android Studio的设备上运行,但手动安装APK时会崩溃

我正在使用mp4parser来合并videos 。 从AS运行的应用程序运行完美。 但如果我手动安装应用程序(传输和运行APK ),或者如果我从TestFairy运行它,应用程序崩溃。

当我将Target Sdk更新为Lollipop时,就开始发生这种情况。 我已经添加了

 `aspectjrt-1.7.3.jar` `isoparser-1.0-RC-27.jar` 

进入我的项目中的libs目录。

我也尝试过以下versions

 `aspectjrt-1.8.5.jar` `isoparser-1.0-RC-37.jar` `isoparser-1.0.6.jar`. 

不知道是否正确的方式,但它从Android Studio工作,然后从TestFairy崩溃或Manual install

    错误说

    缺lesscom.coremedia.iso.boxes.FileTypeBox

    但它在那里的isoparser jar

    我错过了什么,这是一个版本问题?

    我的设备运行Android 4.2.2 ,如果我的目标SDKAndroid 5.0这也可能是一个问题

    例外是:

     Caused by: java.lang.ClassNotFoundException:com.coremedia.iso.boxes.FileTypeBox Caused by: java.lang.ClassNotFoundException: Didn't find class "com.coremedia.iso.boxes.FileTypeBox" on path: /data/app/com.myapp.appname-1.apk 

    Related of "mp4parser在Android Studio的设备上运行,但手动安装APK时会崩溃"

    很抱歉,迟到了,我发现经过很多挫折之后,那个gradle没有把我的lib文件打包到apk里面,这跟mp4Parser没什么关系,最终在更新Android Studio之后,所有的SDK和Gradle的apk都打包好了。

    每当你得到一个ClassNotFoundexception,你的类加载器就无法find它需要运行的类。 与上面build议的4.2.2不兼容的MP4parsing器无关。

    你用Gradle吗? 该类是否在您的Gradle构build文件中捆绑为一个库?

    尝试在您的应用程序的build.gradle文件中的依赖项下添加此项:

      compile fileTree(dir: 'libs', include: '*.jar') 

    这将包括最终版本中libs文件夹中的所有jar文件。

    在你的proguard-rules.pro添加这两行。 这对我有效。

     -keep class com.coremedia.iso.boxes.** { *; } -keep class com.googlecode.mp4parser.boxes.mp4.ESDescriptorBox { *; } 

    让你的build.gradle像这样使用proguard-rules.pro

     android { buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } }