Mp4parser запускается на устройстве из Android Studio, но сбой при установке APK вручную

Я использую mp4parser для объединения videos . Приложение работает отлично при работе от AS . Но если я установлю приложение вручную ( TestFairy и запустил APK ), или если я запустил его из TestFairy , приложение 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 .

Ошибка говорит

com.coremedia.iso.boxes.FileTypeBox отсутствует

Но его там в isoparser jar .

Что мне не хватает, это проблема с версией?

Мое устройство работает Android 4.2.2 управлением 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 

Solutions Collecting From Web of "Mp4parser запускается на устройстве из Android Studio, но сбой при установке APK вручную"

Извините, что после долгого разочарования я обнаружил, что град не упаковывал мои файлы lib в apk, он не имел ничего общего с mp4Parser, в конце концов после обновления Android Studio все SDK и Gradle apk были упакованы должным образом.

Всякий раз, когда вы получаете исключение ClassNotFound, ваш загрузчик классов не может найти класс, который должен работать. Он не имеет ничего общего с парсером MP4, который не работает с 4.2.2, как было предложено выше.

Вы используете Gradle? Является ли класс связанным в виде библиотеки в файле сборки градимента?

Попробуйте добавить это под зависимостями {} в файле build.gradle вашего приложения:

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

Это будет включать все jar-файлы в вашей папке libs в окончательной сборке.

Добавьте эти 2 строки в свой 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' } } }