β TL;DR β Quick Commands & Tools
- APKEditor β https://github.com/REAndroid/APKEditor
- dex2jar β https://github.com/pxb1988/dex2jar * Only for reverse engineering
- JD-GUI / jadx β View decompiled Java https://github.com/java-decompiler/jd-gui/releases/tag/v1.6.6 * Only for reverse engineering
java -jar APKEditor-1.4.5.jar m -i input.apkm -o merged.apkjava -jar APKEditor-1.4.5.jar x -i merged.apk -o refactored.apkYou can stop here unless you want to reverse engineer it.
java -jar APKEditor-1.4.5.jar d -i refactored.apk -o decompiled_json
# or XML
java -jar APKEditor-1.4.5.jar d -t xml -i refactored.apk -o decompiled_xmljava -jar APKEditor-1.4.5.jar info -v -resources -i refactored.apkjava -jar APKEditor-1.4.5.jar b -i decompiled_json -o rebuilt.apkInstall dex2jar:
sudo apt install dex2jar # Debian/Ubuntu/Kali
brew install dex2jar # macOSConvert .apk β .jar:
d2j-dex2jar -f refactored.apk -o refactored-dex2jar.jarView Decompiled Code:
jd-gui refactored-dex2jar.jar # GUI
# or
jadx -d src_out refactored-dex2jar.jarβ‘ Summary Workflow
1οΈβ£ Merge: java -jar APKEditor.jar m -i app.apkm -o merged.apk
2οΈβ£ Refactor: java -jar APKEditor.jar x -i merged.apk -o refactored.apk
3οΈβ£ Decompile: java -jar APKEditor.jar d -i refactored.apk -o json_out
4οΈβ£ Inspect: java -jar APKEditor.jar info -v -i refactored.apk
5οΈβ£ Reverse: d2j-dex2jar -f refactored.apk
6οΈβ£ View code: jd-gui refactored-dex2jar.jar