P2 — add the in-repo Android project skeleton with reproducible Gradle/SDK/NDK CI #171

Closed
opened 2026-08-22 21:55:17 +00:00 by lost-rob0t · 1 comment
lost-rob0t commented 2026-08-22 21:55:17 +00:00 (Migrated from github.com)

Parent epic: #152
Depends on: #170, #133

Goal

Create the production Android project skeleton in this Zara repository using the build/toolchain decisions from #170, with deterministic debug/test builds and no assistant/runtime fork.

Requirements

  • choose documented subtree and module layout;
  • Kotlin/Java/native boundaries follow #170 decision;
  • pinned/declared Gradle/AGP/Kotlin/JDK/Android SDK/build-tools/NDK versions as applicable;
  • dependency locking/checksum policy;
  • Nix dev-shell/toolchain integration where useful without pretending Nix replaces Android build semantics;
  • debug APK and JVM/unit tests in CI; emulator/instrumentation scaffold where justified;
  • no release signing secrets/API keys/CURVE private keys in source/resources;
  • application id/versioning/minSdk/targetSdk researched and documented;
  • deterministic resource packaging for shared Prolog fixtures later;
  • simple native screen proving app lifecycle, no network/voice yet.

Tests/gates

Clean checkout offline/cache behavior where practical; debug build; lint/static checks; unit smoke; native library packaging for selected ABIs if used; APK inspection for fixture/private secrets; full existing Zara Nix gate remains green.

Acceptance

The repo produces a testable Android debug APK from declared toolchains in CI without changing existing Linux Zara behavior or introducing a parallel assistant implementation.

Parent epic: #152 Depends on: #170, #133 ## Goal Create the production Android project skeleton in this Zara repository using the build/toolchain decisions from #170, with deterministic debug/test builds and no assistant/runtime fork. ## Requirements - choose documented subtree and module layout; - Kotlin/Java/native boundaries follow #170 decision; - pinned/declared Gradle/AGP/Kotlin/JDK/Android SDK/build-tools/NDK versions as applicable; - dependency locking/checksum policy; - Nix dev-shell/toolchain integration where useful without pretending Nix replaces Android build semantics; - debug APK and JVM/unit tests in CI; emulator/instrumentation scaffold where justified; - no release signing secrets/API keys/CURVE private keys in source/resources; - application id/versioning/minSdk/targetSdk researched and documented; - deterministic resource packaging for shared Prolog fixtures later; - simple native screen proving app lifecycle, no network/voice yet. ## Tests/gates Clean checkout offline/cache behavior where practical; debug build; lint/static checks; unit smoke; native library packaging for selected ABIs if used; APK inspection for fixture/private secrets; full existing Zara Nix gate remains green. ## Acceptance The repo produces a testable Android debug APK from declared toolchains in CI without changing existing Linux Zara behavior or introducing a parallel assistant implementation.
Owner

Consumed and merged via PR #229 (skeleton + gate: rage/171-android-skeleton.org, merged at 38e98a4). Acceptance satisfied: reproducible debug APK + JVM tests in CI, Linux gate unchanged.

Consumed and merged via PR #229 (skeleton + gate: rage/171-android-skeleton.org, merged at 38e98a4). Acceptance satisfied: reproducible debug APK + JVM tests in CI, Linux gate unchanged.
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
nsaspy/zara#171
No description provided.