Skip to content

Drive Remote Controller 0.219

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 10 Sep 20:17

Built from 2974baa.

Read this before commanding anything

This app commands a boat's drives and its bow thruster. The system has
not been through the commissioning checklists in docs/SAFETY.md.
Work through those before connecting any output to a drive or a thruster.

What is here

The Android station, and nothing else. The firmware and the Signal K
plugin are not released
: the three ESP32 units are flashed over the air
from a working tree, and the plugin is installed on the boat's server from
npm pack output, so neither was ever installed from a Release. Both are
still built and tested on every push — see the repository's CI.

Asset Signed with Notes
DriveRemoteController-0.219.apk the release key Shrunk and obfuscated by R8
DriveRemoteController-0.219-debug.apk the generic Android debug key Unminified, carries the Compose UI tooling

Take the release APK unless you are chasing a fault that only appears in
the shrunk build — the debug one is the same code with nothing removed.

They cannot replace each other. Android refuses to install a build
signed with a different key over an existing one, in either direction, so
switching between them means adb uninstall io.github.kegustafsson.driveremote first. That uninstall clears the
stored Signal K token
, which lives in app-private storage excluded from
backup, so the station then needs a fresh access request approved in the
server's admin UI.

Reading a crash report

The release APK is obfuscated, so a stack trace from it is meaningless on
its own. DriveRemoteController-0.219.mapping.txt.gz is the mapping
file for this exact build — the only copy that will ever match it:

gunzip DriveRemoteController-0.219.mapping.txt.gz
retrace DriveRemoteController-0.219.mapping.txt stacktrace.txt

retrace is in the SDK's cmdline-tools. The debug APK needs none of
this.

The APK is shrunk and obfuscated by R8, so a stack trace from it is
unreadable on its own. DriveRemoteController-0.219.mapping.txt.gz
is the mapping file for this exact build — the only copy that will ever
match it. To read a crash report, gunzip it and pass it to
retrace (in the SDK's cmdline-tools):

gunzip DriveRemoteController-0.219.mapping.txt.gz
retrace DriveRemoteController-0.219.mapping.txt stacktrace.txt

Verifying what you downloaded

Both APKs and the mapping file have a .sha256 beside them:

sha256sum -c <file>.sha256

There is also a CycloneDX software bill of materials
(.sbom.cdx.json) of everything on the release runtime classpath. The
checksum files and the SBOM are not themselves checksummed.

Every file in this release carries a signed build-provenance attestation:

gh attestation verify <file> --repo KEGustafsson/drive-remote-controller