APK Studio is a cross-platform IDE for reverse-engineering (decompiling, hacking & rebuilding) of android applications (APKs) within a single user-interface. It features a friendly layout with a code editor which support syntax-highlighting for smali (dalvik-bytecode) code files.
- Decompile(Deassemble)/Recompile APKs Using apktool
- Flexible Keystore & Key-Alias Chooser
- Automatic Zip-align
- Syntax Highlighting (*.smali; *.xml; *.yml)
- Image Viewer For Resources
- One-click Install to Device
- Frameworks Support
- Native installers for supported platforms are here.
- Install Java & make sure $JAVA_HOME points to a valid JDK (JRE may not work)
- You should also install or have ADB in $PATH. This can be done on debian{-based} distros as follows:
sudo apt-get install android-tools-adb
- Download latest apktool and put it in the path:
linux: /home/{your-user-name}/.apkstudio/vendor/apktool.jar Windows C:\Users\{your-user-name}\.apkstudio\vendor\apktool.jar
- Also make sure you've zipalign installed. If it's not then issue the command:
sudo apt-get install zipalign
Note: If you encounter any problems, make sure to check Console Output at bottom of IDE to get the output of command which was actually executed by program. Report any issues related to APK Studio here on Github. Please note, an issue with apktool is not an issue with APK Studio. Please verify the context of issue before opening a ticket.
- Make sure you have GCC 4.6+, QT 5.2+
sudo apt-get install qt5-default qt4-linguist-tools qt5-qmake qttools5-dev build-essential
- Run below commands in a writable directory
git clone https://github.com/surendrajat/apkstudio.git
cd apkstudio
lrelease res/lang/en.ts
qmake apkstudio.pro CONFIG+=release
# {IF} On KDE 5.x
export CXXFLAGS="$CXXFLAGS -DNO_NATIVE_DIALOG"
# {/IF}
make
- More information on building from source using Qt Creator is provided in the Wiki
- Replacing jarsigner with apksigner
- Code Completion
Same as apktool, APK Studio is neither intended for piracy nor other non-legal uses. It could be used for localizing, adding some features or support for custom platforms, analyzing applications & much more.