Skip to content

[RELEASE-007] Keep Android nightly install-source checks compatible with API 26 #232

Description

@veryCrunchy

User problem

Android is unavailable in otherwise successful nightly releases because release lint rejects an API 30 install-source property while the app supports Android API 26.

Failure

AndroidProjectContentClient.support() reads InstallSourceInfo.installingPackageName after storing the API-guarded object in a nullable variable. Android lint does not retain the SDK guard across that variable and fails :androidApp:lintRelease with NewApi.

Affected nightly run: https://github.com/Obiente/nc-native/actions/runs/30241981541

Acceptance criteria

  • Install-source detection accesses API 30+ properties only inside an SDK-recognized guarded path.
  • API 26-29 retain the deprecated installer-package fallback without crashing.
  • Focused unit tests cover direct APK and store-installed channel classification.
  • :androidApp:lintRelease and the signed nightly Android build path pass.
  • Normal Android-changing PR checks exercise the release-lint gate before nightly publication.

Relationships

Follow-up to #178. Part of #16.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:releaseBuilds, CI, security, packaging, and releasesplatform:androidAndroid-specific implementation or validationpriority:P0Required for a trustworthy mobile replacement or prevents data losstype:bug

    Type

    No type

    Projects

    Status
    Done

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions