Confirm the available task
Run the module's task listing when the project has flavors or custom variants. The Android variant guide explains why demoRelease and productionRelease are distinct outputs.
An illustrative conventional command is:
cd android
./gradlew :app:assembleRelease
Read the actual build output path instead of assuming every project uses the same filename.
Separate assemble from bundle
| Task family | Typical artifact |
|---|---|
assemble... |
APK output for that variant |
bundle... |
Android App Bundle |
install... |
Build/install workflow for a device |
The React Native publishing guide describes release configuration and the current app-bundle workflow. An APK task is useful for direct installation but is not interchangeable with the required Play submission artifact.
Audit inherited configuration
Check signing, application ID suffixes, environment selection and bundle entry points. A release block copied from a starter project may still refer to debug credentials or development endpoints.
Do not assume a CI secret exists because the same build succeeds on a developer's machine.
Verify installation and upgrade behavior
Test a fresh installation and a supported update from the previous release. Uninstalling to avoid a signature mismatch can destroy test data and conceal an actual update-compatibility problem.
Stop Metro and verify the packaged app works independently.
Keep the task and artifact linked
APKLint can inspect package identity and React Native assets, but it cannot tell which Gradle invocation produced a file unless you preserve that provenance. Record task, source revision, build number, signing fingerprint and artifact hash with the test result.
Sources and further reading
Reference review: 22 September 2026. Examples illustrate the workflow; check your installed versions, release artifact and account-specific Console requirements before applying them. This guide is not a claim that APKLint executed your project or verified your private account.



