Extract and Install Split APK from Android Device
A simple guide to extracting split APK files from an Android device and reinstalling them using ADB.
Extract and Install Split APK from Android Device
If an Android application is installed as a split APK, you can extract all APK files from the device and reinstall them using adb install-multiple.
1. Find the Package Name
adb shell pm list packages | findstr <package_name>Example:
adb shell pm list packages | findstr jetblue2. Get APK Paths
adb shell pm path <package_name>This returns the paths of the base APK and all split APKs.
package:/data/app/.../base.apk
package:/data/app/.../split_config.arm64_v8a.apk
package:/data/app/.../split_config.en.apk
package:/data/app/.../split_config.xxhdpi.apk3. Download All APK Files
Pull each APK using the paths returned above:
adb pull /data/app/.../base.apk
adb pull /data/app/.../split_config.arm64_v8a.apk
adb pull /data/app/.../split_config.en.apk
adb pull /data/app/.../split_config.xxhdpi.apkMake sure to download all the APK files.
4. Install the Split APKs
Install all the APKs together:
adb install-multiple base.apk split_config.arm64_v8a.apk split_en.apk etc..The exact split files depend on the application and device architecture.
Frida Process Identification
To find the application's process ID:
adb shell ps | findstr <package_name>Example:
adb shell ps | findstr io.example.fridatargetThen attach Frida to the process:
frida -U -p <PID>Example:
frida -U -p 2070Related Research
HTTP Toolkit to Solve the Simcard required application proxy
A simple technique to intercept Android application traffic when the app works only over mobile data and ignores traditional proxy settings.
Flutter App SSL Pinning Bypass Using ReFlutter
A simple workflow to extract, merge, patch, sign, and install a Flutter APK for security testing.
Android Proxy Settings with iptables
A simple technique to redirect Android HTTPS traffic to Burp Suite when the application ignores proxy settings.