If you’ve ever tried installing apps on your Chromebook from unofficial app stores, you know you’ve got to enter developer mode, which requires a factory reset. Here’s how you can get around that requirement using the Linux subsystem.
Sideloading APKs and Developer Mode
Some Android apps are not listed on Google Play. There can be many reasons for this. Perhaps Google has barred the app because it doesn’t meet Google’s stipulations. Then again, it may be a self-imposed exile by the programmers. They may have a beef with Google and want to sidestep the usual app delivery mechanisms. And sometimes developers release their stable, safe builds via Google Play, but make other builds—such as potentially unstable daily development builds—available elsewhere.
To install an Android application from an unofficial repository means downloading an APK and installing it. APK stands for both Android Package Kit and Android PacKage. It’s the name for a type of file that contains an Android app and all of its required files. Bundling the app and its dependencies into a single file makes it much easier to distribute and copy.
Installing an APK on a Chromebook used to mean switching your Chromebook into developer mode. Doing so required a system reset—or powerwash—which took your Chromebook back to a brand new, clean state. It also presented a scary warning each time your Chromebook booted up, and it lowered your security too.
Using your Chromebook’s Linux subsystem it’s possible to install Android apps from APK files without setting up developer mode. You just need to turn on Android debugging mode—and that doesn’t need a factory reset.
Of course, you need to have a Chromebook capable of running the Linux subsystem and running Android apps, but all recent models should be able to do this.
Enable the Linux Subsystem
If you haven’t already enabled the Linux subsystem, you’ll need to do that now. It’s simple to do, but it does take a moment or two to complete. Click the notification area (system tray) to open the Settings menu and click the cogwheel icon.
On the Settings page, type “linux” into the search bar. You’ll see the Linux development environment (beta) entry in the search results.
Click the “Turn On” button. You’ll see a notification that a download is about to take place.
Click the blue “Next” button. You’ll be prompted to provide a username. You can leave the disk size setting at its default value. Click the blue “Install” button.
The download and installation process starts. It can take a few minutes for this step to complete.
Eventually, you’ll see the Linux terminal window with a command prompt that contains the user name you chose earlier.
Setting Up the Android Debugging Bridge
When Linux has been installed, open the System menu and click the cogwheel. On the Settings page, search for “linux.” You’ll see more options this time. Select “Develop Android Apps” then click the slider button alongside “enable ADB debugging.”
This turns on the Android Debugging Bridge. It’s a tool used by developers to test their Android apps as they work on them. We’re going to use the feature to sideload APKs.
You’ll be asked to confirm that you do want to enable ADB. Click the blue “Restart and Continue” button.
When your Chromebook has rebooted, tap the “Everything” button—the one with the magnifying glass symbol on it—and type “terminal.”
Click on the terminal icon in the search results. A Linux terminal window will open. Type this command in the terminal window:
sudo apt install android-tools-adb -y
This installs the Android ADB system. When the installation has finished, type this command to connect the debugging bridge to an IP address and port.
sudo adb connect 220.127.116.11:5555
You need to confirm you want to allow USB debugging.
Select the “Always allow from this computer” check box and click the “OK” button.
If your terminal window doesn’t display “connected to 18.104.22.168:5555”, open Settings and navigate to
Apps > Google Play Store > Manage Android Preferences > System > About Device. Click on the “Build Number” entry seven times.
This is an “Easter egg” that forces your Chromebook to consider you as a developer. Reboot, and then try again.
If it still doesn’t work, try using this command:
sudo adb connect arc
Sideloading an APK
We’re going to install the Firefox browser nightly developer build. This is an unstable but cutting-edge-as-possible version of the Firefox browser. We’re using it as a good example of an Android app that isn’t available on Google Play. Don’t use it as your daily browser; this build is for testing and experimenting, not for relying on.
Download the appropriate APK for your Chromebook’s architecture. Our test machine has an Intel 64-bit processor, so we downloaded the “X86_64” APK. The downloaded file was placed in the “Downloads” folder.
It was called “org.mozilla.fenix_93.0a1-2015827511_minAPI21(x86_64)(nodpi)_apkmirror.com.apk.” That’s a pretty awful filename to have to work with. Perhaps it was inspired by a certain Welsh village. To make things more manageable, we renamed it “firefox.apk.”
The APK needs to be located where the Linux subsystem can see it. Open your file browser and drag the APK to the “Linux files” directory.
To install the APK on a Chromebook with an Intel or AMD CPU, type this command. Substitute “firefox.apk” with the name of your APK:
adb -s emulator-5554 install firefox.apk
If your Chromebook uses the ARM architecture, use this command instead:
adb install firefox.apk
The word “Success” in the terminal window indicates everything has gone well. Hit the “Everything” button and type firefox. You’ll see the “Firefox Nightly” icon.
Click the icon to launch the unstable version of Firefox.
With Great Power
…comes great responsibility. Be careful when you are sideloading APKs. Some APKs may contain malicious or destructive code. Do some research before sideloading. Try to locate reviews of the app—and the site you’re downloading from—to see whether it is bone fide.
As always, it pays to look before you leap.
RELATED: How to Sideload Apps on Android TV