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

mp4parser在Android Studio的设备上运行,但在手动安装APK时崩溃,android,android-studio,mp4parser,Android,Android Studio,Mp4parser,我正在使用mp4parser合并视频。从A.S.运行时,应用程序运行完美。但是如果我手动安装应用程序(传输并运行APK),或者从TestFairy运行,应用程序会崩溃 当我将我的targetSDK更新为Lollipop时,这种情况就开始出现了。 我添加了 `aspectjrt-1.7.3.jar` `isoparser-1.0-RC-27.jar` 进入我的项目中的libsdir 我还尝试了以下版本 `aspectjrt-1.8.5.jar` `isoparser-1.0-RC-37.j

我正在使用
mp4parser
合并
视频
。从A.S.运行时,应用程序运行完美。但是如果我手动安装应用程序(传输并运行
APK
),或者从
TestFairy
运行,应用程序会崩溃

当我将我的
targetSDK
更新为
Lollipop
时,这种情况就开始出现了。 我添加了

`aspectjrt-1.7.3.jar` 
`isoparser-1.0-RC-27.jar` 
进入我的项目中的
libs
dir

我还尝试了以下
版本

`aspectjrt-1.8.5.jar` 
`isoparser-1.0-RC-37.jar`
`isoparser-1.0.6.jar`.
不确定这是不是正确的方法,但它可以从
Android Studio
运行,然后从
TestFairy
手动安装中崩溃

错误是

com.coremedia.iso.box.FileTypeBox
缺失

但是它在
isoparser罐子中

我遗漏了什么,这是版本问题吗

如果我的目标
SDK
Android 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

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

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

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

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

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

抱歉,迟来的回答,我在经历了很多挫折后发现,gradle没有将我的lib文件打包到apk中,这与mp4Parser无关,
最终,在更新Android Studio之后,所有SDK和Gradle都正确打包了apk。

在您的
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'
        }
    }
}

在Android 4.2.2 Mp4解析器中,尝试清除mp4parser类中的目标注释代码。该解析器工作不正常。请尝试其他版本。谢谢您的快速响应。好的,对于安装了4.2.2的用户,我无能为力,我有一个S4迷你版,4.2.2是最新的可用版本。如果是这样的话,是否有其他第三方库在4.2.2中可以合并视频?嗨@sukumar,再次感谢您的回复,我已经搜索了,但找不到与Android 4.2.2和mp4parser问题相关的任何内容,也找不到解决此问题的任何帮助,对我们来说在Jellybean上运行非常重要,所以我需要找到一些东西,如果你有更多关于这个的信息。我目前正在考虑在手机上使用ffmpeg或Intel INDE Media之类的东西,但两者似乎都比较耗时。任何建议都将不胜感激。这似乎是一个proguard问题,您是否检查了您的proguard文件?您好@DKIT,感谢您的回复,我正在使用Gradle,并且我已经在依赖项中的build.Gradle中编译了
文件树(dir:'libs',include:'*.jar')
。但我仍然得到错误:
java.lang.ClassNotFoundException:在路径:DexPathList[[zip file”/data/app/com.example.appname-1.apk],nativeLibraryDirectories=[/data/app-lib/com.example.appname-1,/vendor/lib,/system/lib]]上找不到类“com.coremedia.box.FileTypeBox”
确定-是否将此依赖项添加到应用程序本身,或应用程序所依赖的模块?Android需要在应用程序目录下的libs目录中找到依赖项。如果这解决了您的问题,请接受我的回答。我面临着同样的问题,目前没有任何工作。你能告诉我你升级了哪个android studio版本吗?。