- Java 89.6%
- C 5.7%
- Shell 4.7%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
|
||
| .forgejo/workflows | ||
| jni | ||
| res/mipmap-xxxhdpi | ||
| src/net/exithub/picoautostart | ||
| .gitignore | ||
| AndroidManifest.xml | ||
| build.sh | ||
| CLAUDE.md | ||
| FINDINGS.md | ||
| icon.svg | ||
| README.md | ||
pico-autostart
A small helper APK for the Pico 4 (Pico OS, Android 10). It starts at boot as an accessibility service, reports headset state to Home Assistant over MQTT (discovery) and speaks text sent from Home Assistant through the Android TTS engine.
Quick start
You need the Android SDK (build-tools 36.1.0, platforms/android-35, NDK 27), a JDK 17 and zip.
export ANDROID_HOME=/path/to/android-sdk
JAVAC=/path/to/jdk17/bin/javac ./build.sh
adb install -r pico-autostart.apk
adb shell settings put secure enabled_accessibility_services \
net.exithub.picoautostart/net.exithub.picoautostart.AutostartService
adb shell settings put secure accessibility_enabled 1
Then open Pico Autostart in the headset library and enter the MQTT broker. Entities appear in Home Assistant through MQTT discovery.
Build and deploy
There is no Gradle: build.sh calls the SDK tools directly. A push to main builds and
signs the APK in Forgejo Actions and publishes it as an android-v* release, which
Obtainium on the headset installs.
More
Entities, settings, architecture, gotchas: CLAUDE.md. What was tried on Pico OS and why it ended up like this: FINDINGS.md.