Работая над добавлением запутывания в мобильное приложение для Android, я попытался протестировать сгенерированный APK и убедиться, что код запутан.Я сделал это с 2 различными инструментами - apkanalyzer и dex2jar (следуя этому руководству).Я использовал apkanalyzer, чтобы получить все классы с помощью следующей команды:
apkanalyzer dex packages myapp.apk
При проверке имен классов было похоже, что запутывание работает, как и ожидалось.Но когда я проверил результаты dex2jar (используя JD-Gui), похоже, что запутывание не работает - все имена классов сохранены.
Чтобы убедиться, что Proguard работает, я проверил - mapping.txt
и seeds.txt
успешно созданы.Я также проверяю один класс, который появился на mapping.txt
(и поэтому должен быть запутан) - но на JD-Gui он появляется с настоящим именем, а не запутывается.
Мой вопрос: почему существует разницамежду выходом apkanalyzer и dex2jar?И какой инструмент выдает правильный результат?
Редактировать: я протестировал его на демонстрационном проекте и не смог воспроизвести это поведение.Это означает, что что-то странное в том, как настроено наше приложение.
Заранее спасибо!
Омер