APK Utilities
A cross-platform suite of scripts and utilities for working with APK files
Features
Pull
- adb-pull - pull an app's APK files from a connected device to the
project
directory - adb-lp-pull - pull all LP modified files to the
project
directory - clean - clean the
project
directory
Extract
- apktool-decode - decode an
apk
tosources
- baksmali - decompile a
dex
tosmali
- aapt-dump - dump Android-specific data (resources, manifest) from an
apk
- enjarify - convert an
apk
to ajar
- dexify - convert a
jar
to adex
Build
- apktool-build - build previously decoded
sources
to apatched apk
- smali - build previously decompiled
smali
to apatched dex
- sign - sign a
patched apk
to asigned apk
Push
- adb-install - install an
apk
file - adb-install-multiple - install multiple
apk
files - adb-lp-push - push
files
to the LP data directory
Usage
Clone this repo and use the .sh
scripts at its root. For a clean workflow, all scripts operate under the project
directory.
Example workflow
- adb-pull > apktool-decode > make changes > apktool-build > sign > adb-install
Installation
You need bash installed and accessible under /bin/bash
. On Windows you can use WSL, the scripts will detect that and still use the native Windows binaries.
If you want to use the aapt-*
and adb-*
scripts, then you also need to install the Android SDK. In Ubuntu, there is an official package android-sdk
. Make sure the following directories are added to your PATH
:
android-sdk/platform-tools/
android-sdk/build-tools/xx.x.x/
(preferably the most up-to-date one)