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

时间:2015-05-19 09:13:36

标签: android android-studio mp4parser

我使用mp4parser合并videos。从 A.S 运行时,该应用程序运行完美。但如果我手动安装应用程序(转移并运行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起作用,然后从TestFairyManual install崩溃。

错误说

  

com.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

4 个答案:

答案 0 :(得分:1)

对不起迟到的答案,我发现很多挫折之后,gradle没有将我的lib文件打包到apk中,它与mp4Parser无关, 最终在更新Android Studio之后,所有SDK和Gradle正确打包了apk。

答案 1 :(得分:0)

每当你得到ClassNotFound异常时,你的类加载器都找不到它需要操作的类。它与MP4解析器无关,如上所述,无法在4.2.2上工作。

你使用Gradle吗?该类是否在gradle构建文件中捆绑为库?

尝试在app的build.gradle文件中的依赖项{}下添加它:

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

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

答案 2 :(得分:0)

-keep class com.coremedia.iso.boxes.** { *; } -keep class com.googlecode.mp4parser.boxes.mp4.ESDescriptorBox { *; } 中添加这2行。这对我有用。

build.gradle

proguard-rules.pro像这样使用android { buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } }

{{1}}

答案 3 :(得分:0)

尝试清除mp4parser类中的目标注释代码