Apktool - приложение мгновенно вылетает после перепаковки - PullRequest
0 голосов
/ 30 мая 2018

В этом примере я использовал это приложение: Perfect_Piano_v7.1.3_apkpure.com

Версия Apktool: v2.3.3 Разветвление IBotPeaches https://github.com/iBotPeaches/Apktool/releases/tag/v2.3.3

Оригинальное приложение работаетнормально на моем устройстве и эмуляторе, но после того, как я распаковываю и перепаковываю его и переустанавливаю, приложение мгновенно вылетает.Я не внес никаких изменений в приложение перед перестройкой и использую флаг --no-src, чтобы не декомпилировать smali файлы.

apktool d -f --no-src Perfect_Piano_v7.1.3_apkpure.com.apk
rm Perfect_Piano_v7.1.3_apkpure.com.apk
apktool b -f Perfect_Piano_v7.1.3_apkpure.com
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore Perfect_Piano_v7.1.3_apkpure.com.apk alias_name

Я также пытался строить с флагом --use-aapt2.

Logcat выдает следующую ошибку:

05-30 19:59:13.781 1691-1714/? W/WindowManager: Failed looking up window
                                                java.lang.IllegalArgumentException: Requested window android.view.ViewRootImpl$W@29a1c85 does not exist
                                                    at com.android.server.wm.WindowManagerService.windowForClientLocked(WindowManagerService.java:8733)
                                                    at com.android.server.wm.WindowManagerService.windowForClientLocked(WindowManagerService.java:8724)
                                                    at com.android.server.wm.WindowManagerService.removeWindow(WindowManagerService.java:2697)
                                                    at com.android.server.wm.Session.remove(Session.java:187)
                                                    at android.view.ViewRootImpl.dispatchDetachedFromWindow(ViewRootImpl.java:3099)
                                                    at android.view.ViewRootImpl.doDie(ViewRootImpl.java:5606)
                                                    at android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:3409)
                                                    at android.os.Handler.dispatchMessage(Handler.java:102)
                                                    at android.os.Looper.loop(Looper.java:148)
                                                    at android.os.HandlerThread.run(HandlerThread.java:61)
                                                    at com.android.server.ServiceThread.run(ServiceThread.java:46)

Вы можете найти полный журнал Logcat в этом pastebin

Гипотеза

  • Поскольку я на самом деле не декодирую .dex файлы, следовательно, флаг --no-src, проблема, вероятно, не имеет ничего общего с компиляцией smali.
  • Может быть, это какая-то защита от взлома?
  • Файл результатов меньше исходного (исходный результат 16,67 Мб, 13,96 Мб), все ресурсы одинаковы, но при просмотре вв архиве они более сжаты, так что, возможно, проблемы со сжатием ресурсов?

Я не знаю, на этом этапе у меня такие же проблемы с некоторыми другими .apk файлами.

Я отправил этот вопрос в github.

...