Summary
- Export one
ANDROID_MIN_SDK = 26runtime floor and use it for defaults, validation and Gradle rendering. - Reject lower requested API levels before creating project files, including Health Connect projects; stop silently rewriting an invalid Health Connect minimum.
- Keep the native JNI compatibility regression tied to the same canonical value and document the supported Android 8.0+ contract.
Closes #273.
Validation
- Fail-first regression: API 25 was accepted and a project was created before the fix.
- 62 Android generator tests / 877 assertions pass afterward, including API 25 rejection with/without Health Connect and matching default/API 26/API 28 values in Gradle and both configuration files.
- Standalone Android declaration build, focused Pickier and diff checks pass.
- Template audit: remote fallback's default network callback is available before the API 26 floor; Java time APIs are available at that floor. Existing newer notification/permission/media/vibrator/package-info call paths are guarded by SDK checks. CI compiles both minimal and all-capability generated projects.