Hive Hive
Sign in

feat(android): add Android target kinds

GitHub issue · Closed

Metadata
Source
tuist/once #123
Updated
Jul 5, 2026
Domains
Once
Details

Summary

  • Add Once-native Android Starlark target kinds for android_resource, android_library, and android_binary.
  • Add Kotlin source support through Starlark toolchain attrs, with Java compiled first and Kotlin compiled into the final class output.
  • Add android_binary run support through direct adb actions 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 -- --check
  • mise exec -- cargo test -p once-frontend
  • mise exec -- cargo test -p once-cli commands::graph
  • git diff --check
  • mise run android:install-sdk
  • mise 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 verified dev.once.hello/.MainActivity as the resumed activity with adb shell dumpsys activity activities.
Flights

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.

Comments

No GitHub comments yet.