Sideloading Android apps on chromeoS with fdroidcl
One of the best features of chromeOS is how integrated Android apps are to the experience. One downside is sideloading apps isn’t officially supported unless you enable developer mode. Rather than enabling developer mode, I have been using a combination of adb and fdroidcl in the Linux environment to install Android apps from other repositories.
Why not developer mode?
One would think I would be a fan of enabling developer mode , given I like to tinker with all my devices. Until I’m ready to remove chromeOS and install a full Linux desktop, I don’t have any other reason to use developer mode other than sideloading apk’s.
My main concerns with enabling developer mode is read/write rootfs and the risk of bricking my device while still under warranty. There will be plenty of time for Linux shenanigans once I’m out of warranty protection. Until then, I’d like my device to stay safe and secure.
Sideloading from Linux
Okay, down to the brass tacks on how to sideload Android apps. First, some configuration on chromeOS. Obviously you need to have the Linux environment setup. Next, enable ADB debugging in the Android environment by going to Settings -> About chromeOS -> Linux development environment -> Develop Android apps and toggling “Enable ADB debugging”.
Linux configuration
Once ADB debugging is enabled, we need to go to the Linux environment and install adb and then connect the ADB bridge to the Android environment.
sudo apt install adb
adb start-server
adb connect arc
When connecting, the system will show a pop-up to confirm. Check the box to “always allow connections from this device”.
Once this is done, you can go to F-Droid, IzzyOnDroid, or download apk’s from your preferred source and install with ADB from the terminal. The downloaded apk’s need to be in a folder accessible by the Linux environment, so I was using wget and the URL to the file on GitHub or F-Droid.
The install syntax is like this:
adb -s arc:5555 install <file_name>.apk
Using fdroidcl
If I was installing several Android apk’s this way I would enable developer mode and use an app like Droid-ify, Obtainium, or the official F-Droid app. But, I’m only installing a handful, so managing it is easy. I could just go to the source, download the files, and then install. However, using fdroidcl makes it much easier.
For the uninitiated, fdroidcl is a command line client for downloading apk’s from F-Droid and other repos mapped to the config. I use fdroidcl for creating a local archive of about 30 apps in my data hoard. I wrote a simple script that grabs the apk’s from seven various repos and saves to my NAS.
This is what my fdroidcl config looks like:
{
"repos": [
{
"id": "f-droid",
"url": "https://f-droid.org/repo",
"enabled": true
},
{
"id": "f-droid-archive",
"url": "https://f-droid.org/archive",
"enabled": false
},
{
"id": "IzzyonDroid",
"url": "https://apt.izzysoft.de/fdroid/repo",
"enabled": true
},
{
"id": "NewPipe",
"url": "https://archive.newpipe.net/fdroid/repo",
"enabled": true
},
{
"id": "DivestOS",
"url": "https://divestos.org/fdroid/official",
"enabled": true
},
{
"id": "GuardianProject",
"url": "https://guardianproject.info/fdroid/",
"enabled": false
},
{
"id": "FediLab",
"url": "https://fdroid.fedilab.app/repo",
"enabled": true
},
{
"id": "Guardian_Project",
"url": "https://guardianproject.info/fdroid/repo",
"enabled": true
},
{
"id": "Bitwarden",
"url": "https://mobileapp.bitwarden.com/fdroid/repo/",
"enabled": true
}
]
}
Using the same config and script, I modified them to grab the apps I am sideloading on chromeOS and then use ADB to install them. I only need to occasionally run the script to keep things up to date.
Even without the script it is easy to search for and install apps such as Tubular or the free version of DAVx5.
As I mentioned above, if I start sideloading more apps I might as well enable developer mode so I can use a better tool for automating installs and updates. At the moment, this setup works and is simple enough that is unlikely to cause me problems in the future.
- - - - -
Did you like this post? Give it an upvote by clicking on the arrows below! Sending me an upvote is like you and I giving each other a high five.
🙏 😎
Thank you for reading! If you would like to comment on this post you can start a conversation on the Fediverse. Message me on Mastodon at @cinimodev@masto.ctms.me. Or, you may email me at blog.discourse904@8alias.com. This is an intentionally masked email address that will be forwarded to the correct inbox.If you enjoy the random stuff I write here, post to Mastodon, or watch on YouTube, and are feeling generous, I am open to tips of Ko-fi.