Если ваша цель - изменить приложение, не измените его на уровне Java. Это не удастся для всех, кроме самых тривиальных проектов! Декомпиляторы, такие как dex2jar
, jeb
и enjarify
, имеют слишком низкую точность воспроизведения, чтобы доверять тому, чтобы не изменять поведение (читай: нарушать код).
В лучшем случае используйте декомпилятор (например, dex2jar
), чтобы просмотреть java и понять, что вы хотите изменить. Затем получите разборку smali с помощью baksmali
и внесите изменения на уровне smali. Наконец, используйте инструмент smali
, чтобы скомпилировать его обратно в файл dex
.
Это сложнее, но гораздо успешнее. В Интернете есть множество руководств по изменению кода smali. Это займет немного больше времени, но это действительно единственный способ.