In my previous post, I described Builder’s new support for mobile device development. Here I’ll explain how to set it up on your favorite mobile Linux device.
On the device
You’ll need to install deviced, which is responsible for communicating with
Builder and running your apps. You can get it here.
You’ll need to build it from source–that’s just
meson _build and
ninja -C _build.
To enable network discovery, first run
nmcli connection show and copy the
UUID of your network. Then, run
_build/src/tools/devicectl and enter
enable-network <UUID from above> at the prompt.
_build/src/daemon/deviced to start the deviced daemon.
deviced depends on
avahi-daemon, so make sure that’s installed and running. It
flatpak to run apps.
On your development machine, you’ll need to install
Builder should detect your device automatically–the headerbar will say “Discovered device…” when you start deviced. Click the dropdown to the left of that message and select your device from the list. Accept the connection on the phone, then wait for Builder to configure everything and install the flatpak SDK for the target architecture.
If Builder detects the device but can’t connect to it, make sure the firewall on the device isn’t blocking a connection.
Then click Run! It may take a while to compile under emulation, but when it’s done, the app will run on the phone. Happy hacking!
Edit 29 September 2021: Added missing instructions to enable network discovery.