Hive
feat(android): add Android target kinds
GitHub issue · Closed
Source
tuist/once #123
Updated
Jul 5, 2026
Domains
Once
Summary
- Add Once-native Android Starlark target kinds for
android_resource,android_library, andandroid_binary. - Add Kotlin source support through Starlark toolchain attrs, with Java compiled first and Kotlin compiled into the final class output.
- Add
android_binaryrun support through directadbactions that build the APK first, install it, resolve the launcher activity, and start it. - Add bundled Android starter examples, including a Kotlin app that depends on a Java Android library and shared resources, plus graph guide and prelude reference docs.
Testing
mise exec -- cargo fmt --all -- --checkmise exec -- cargo test -p once-frontendmise exec -- cargo test -p once-cli commands::graphgit diff --checkmise run android:install-sdkmise exec -- kotlinc -version- Schema smoke:
mise exec -- cargo run -p once-cli -- query schema android_binary --format json - Kotlin library build smoke:
mise exec -- target/debug/once -C crates/once-frontend/prelude/examples/android-library-minimal build libs/greeting/Greeting --format json - Kotlin APK build smoke:
mise exec -- target/debug/once -C crates/once-frontend/prelude/examples/android-binary-minimal build apps/hello/Hello --format json - Android emulator smoke: booted an API 35 AVD, ran
mise exec -- target/debug/once -C crates/once-frontend/prelude/examples/android-binary-minimal run apps/hello/Hello --format json, then verifieddev.once.hello/.MainActivityas the resumed activity withadb shell dumpsys activity activities.
Investigate, reproduce, or fix this item in an isolated repository. Each Flight preserves its outcome and agent session.
New Flights are paused
Configure model inference, GitHub, and a sandbox provider to start another Flight. Existing results remain available below.
No Flights yet
Start a Flight and preserve its objective, outcome, and session here.
No GitHub comments yet.