Skip to content

pycro_cli: v0.6.0

Choose a tag to compare

@linkfy linkfy released this 18 Mar 20:52
95e8db0

pycro_cli v0.6.0 (Android POC Validated)

This release closes phase 18 and introduces the official Android build contract for pycro projects.

What is included

  • New end-to-end command:
    • pycro project build --project <path> --target android
  • Android build pipeline:
    • cargo quad-apk build --release --bin pycro
  • Artifact contract:
    • source: target/android-artifacts/release/apk
    • destination: <project>/dist/android/apk
  • Embedded payload packaging:
    • uses PYCRO_EMBED_PROJECT_ROOT
    • no host filesystem dependency at Android runtime

Recommended generic command

From repository root:

scripts/android_build_project.sh <project_path>

Real example:

scripts/android_build_project.sh /Users/linkfy/Downloads/pycrotest/example

Installable APK:

  • use pycro.apk from <project>/dist/android/apk/

Validated operational evidence

  • pycro project build --target android generates and copies APKs correctly into project dist.
  • Phase 18 smoke test passed:
    • scripts/phase18_android_embedded_smoke.py (PASS)
  • Preflight validation passed:
    • python3 scripts/validate_governance.py
    • cargo fmt --all --check
    • cargo clippy --all-targets -- -D warnings
    • cargo test
    • cargo run --bin generate_stubs -- --check python/pycro/__init__.pyi
    • python3 -m mypy --config-file pyproject.toml
    • cargo doc --no-deps

Key documented findings

  • Old toolchain risk (edition 2024) is mitigated by forcing rustup cargo:
    • CARGO="$(rustup which cargo)"
  • Android build requires explicit environment:
    • ANDROID_HOME, ANDROID_SDK_ROOT, NDK_HOME
  • On Apple Silicon + NDK21, linker compatibility shims are required.
  • APK distinction:
    • install pycro.apk (not pycro-release.apk in this flow)

Closeout references

  • Phase closeout: docs/phases/18-project-android-build/closeout.md
  • Android guide: docs/phases/18-project-android-build/README.md
  • Tracker: docs/task-tracker.txt
  • Canonical state: state/repo-state.json

Included commits

  • feat(android): close out phase 18 project build flow (54012d4)
  • feat(android): phase 18 closeout and android project build contract (6c4411e)