admitting defeat (re: android development environments on guix)

This entry belongs to the antisocial collection. It's primarily meant to be consumed via RSS and is only advertised via RSS Club. Welcome to the club. [Feed: RSS]

for over a month i’ve spent a weird amount of my free time trying to set up an android development environment (via react native, and then nativescript) on my laptop running the guix linux distribution. i even had a bit of help thanks to some writing about this topic done by franz geffke:

unfortunately, i couldn’t take franz’s configuration verbatim and make it work. and beyond that, i also got nerd-sniped trying to make his setups more ergonomic for me. (i am slightly allergic to having to remember to manually open 2-5 shells, source a bunch of stuff, and then start a bunch of processes manually.)

on my own, i went down some rabbit holes, asked some questions in the #nonguix channel on libera, and attempted setting up my own bespoke environments via guix fhs containers, docker, and even a qemu virtual machine. the closest working environment was the qemu machine. that one at least did not require a bunch of harnessing to appease guix’s declarative, immutable nature. if even allowed me to connect to my physical android device without too much ritual. i abandoned that strategy, though, because it became a guix-related time-sink to learn how to set up a non-virtio filesystem so i could continue to run a code editor, etc. on my irl, non-virtual host machine.

could i get any of these strategies to work? with enough time, i think yes. but the personal-enjoyment accounting is already starting to be fucked up. this blog post is me surrendering and trying to not feel horrible about all of the time i have just admitted to losing.

no hate directed at guix here. i appreciate it the more i learn it. but i’m bummed out i couldn’t get the guix container with fhs emulation working with my physical android device. the core of the issue was that the adb server required for communication with a physical android device could not be run from within the container no matter what environment shit i told the container it could have access to. and running adb on the host didn’t “just work” with the processes inside of the container. with enough time, maybe i could get there. but at this point, i also just don’t know enough about the android sdk tooling to really be effective at creating the developer-harness.