I decided to learn how to sideload an Android app that supports the App Bundle. Previously without App Bundle, it was an easy process, just $adb pull APK and $adb install APK. But now with App Bundle, the Google Play store installs split APKs per device needs. If we do $adb pull APK, it pulls only one APK, we have to find the path to all the split APKs paths then $adb pull all APKs. Then push all APKs to the device sdcard.

Steps to sideload app:

  1. Install App from Play Store.
  2. Use below adb command to find all the split APKs installed on your device

Above we can see each split APK has a different configuration, shows base.apk, split_config.armeabi_v7a.apk, split_config.en.apk, and split_config.xxhdpi.apk. My test Device is a Pixel 3(API 28).

If you only install base.apk you will get the error “Resource Not Found”.

3. Above command outputs APKs path, now use ‘adb pull’ to get APKs from device to your laptop. example:

..repeat for all the APKs

4. Push the split APKs to /sdcard

..repeat for all the APKs

5. Check your device /sdcard, you can see the split APKs.

6. Now use an App to install the split APKs(ping me for app name).

I had the impression that once Apps supported App Bundles it would not be possible to sideload. After doing some research and a proof of concept; I found that users can still sideload apps :(

If you try to install an armv7a APK on an Android emulator(x86) the app will crash.

Ping me for the app name, I don’t want to promote sideloading apps. Just for research purposes.

I wish APK security was better, so developers don’t have to worry about it.

Thanks for reading.

software engineer, read, swim, travel. apps: https://goo.gl/rDuuQw https://goo.gl/15GvfE

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store