Starter kits/Android

Android lifecycle adapter starter

A Kotlin contract that keeps camera, selection, permission, recreation, and teardown state outside unconfirmed SDK types.

A project you can inspect before installing.

The canonical file manifest is also the archive contract. Common evidence, environment, manifest, and acceptance files accompany platform-specific source.

README.mdSetup and first-success boundary
STARTER_MANIFEST.jsonMachine-readable project scope
.env.exampleBlank non-secret configuration
EVIDENCE.mdSource and selection boundary
ACCEPTANCE.mdSuccess and hostile-path proof
src/main/kotlin/MapFeature.ktSDK-independent feature contract
src/main/kotlin/FixtureMapAdapter.ktDeterministic native lifecycle fixture
BUILD_SELECTION.mdAGP, Kotlin, repository, and SDK gate

Secrets have one owner.

Use only the documented Android credential configuration restricted to the package and signing identity. Server credentials never belong in the APK.

What must be true after the scaffold.

01

Camera/selection state restores intentionally and no map listener or location request survives the owning lifecycle.

02

A blocked, missing, or unentitled provider produces a useful explicit failure rather than a blank surface or fabricated result.

03

No server credential, bearer value, precise private fixture, or provider response body appears in client bundles, logs, screenshots, or test artifacts.

04

Resources, listeners, sessions, processes, or requests stop cleanly when the owning screen, request, or application ends.

05

Release dependency matrix is reproducible

06

Permission denial is a complete state

07

Process recreation is tested

08

Native resources detach deterministically