packages/os/android/installer/docs/supported-devices.md
Support is release-manifest driven. A device is supported only when the Android release manifest names its codename and the artifact set was validated for that codename.
| Tier | Meaning | Flashing guidance |
|---|---|---|
lab-validated | A maintainer flashed the release on this codename and completed post-flash validation. | Eligible for normal installer use. |
candidate | Build artifacts exist and basic dry-run checks pass, but a full flash validation is pending. | Dry-run only unless a release owner approves lab testing. |
manual | Artifacts are useful for development but no automated support is promised. | Manual fastboot workflow only. |
blocked | Known incompatible, locked, or unsafe target. | Do not flash. |
A release may list stricter requirements, but supported devices generally need:
a, b, or none).Carrier-locked or enterprise-managed devices often fail the bootloader requirement even when their retail model name matches a supported device.
Each release manifest should include one entry per supported codename:
{
"codename": "caiman",
"marketingName": "Pixel 9 Pro",
"tier": "candidate",
"slots": ["a", "b"],
"dynamicPartitions": true,
"rollbackSupported": true,
"notes": "Example only. Promote to lab-validated after a real flash pass."
}
Use codenames from adb shell getprop ro.product.device or
fastboot getvar product, not marketing names, as the installer target key.
--artifact-dir or explicit --image
mappings.lab-validated only after validation passes.