1

Я новичок в proguard, и у меня есть проблема, которую я не знаю, как исправить. Я был в состоянии создать подписанный APK моего приложения с помощью ProGuard и установить его на устройстве, но когда я пытаюсь запустить приложение я получаю:Android Apk не работает после использования proguard

java.lang.RuntimeException: Unable to instantiate application test.myapp.first.com.CustomApplication: java.lang.ClassNotFoundException: Didn't find class "test.myapp.first.com.CustomApplication" on path: DexPathList[[zip file "/data/app/test.myapp.first.com-2/base.apk"],nativeLibraryDirectories=[/data/app/test.myapp.first.com-2/lib/arm, /data/app/test.myapp.first.com-2/base.apk!/lib/armeabi-v7a, /vendor/lib, /system/lib]] 

Я пытался использовать -keep класс для того, чтобы исключить класс, а также подклассы Activity/Application от обфускации, и да, в андроиде манифеста путь к классу приложения - это полный путь пакета. Я декомпилировал подписанный apk, и фактически класс java помещен в правильный путь.

Любая идея о том, как я могу это исправить?

Благодаря

+0

Я всегда находил это болезненным процессом. В основном я начинаю с того, что сохраняю все в своих пакетах, а затем медленно делаю их более конкретными, пока он не перестанет работать. Затем я отступаю от того, который не работает, и попробуйте снова в другом дереве пакетов. Может быть, лучший способ, но мое личное мнение в том, что proguard - это боль в ..... – mjstam

ответ

0

Попробуйте использовать Proguard конфигурации из SDK, он находится в tools/proguard/, например, proguard-android-optimize.txt.

Смежные вопросы