Check Android developer verification registration for all your package names
From September 30, 2026, unregistered apps are blocked on certified devices in Brazil, Indonesia, Singapore and Thailand; the global rollout follows in 2027. Every flavor is a separate package name: com.acme.app, com.acme.app.debug, com.acme.app.staging… Check them all.
Enforcement starts in
Check your apps
adb shell pm list packages -3What the states mean
REGISTERED- The package name is registered to a verified developer (and matches the certificate, if you passed one).
NOT_REGISTERED- Nobody has registered this package name. Installs on certified devices in enforcing regions are blocked unless the user enables the advanced flow or uses ADB.
REGISTERED_WITH_ANOTHER_CERTIFICATE_FINGERPRINT- Registered, but with a different signing key than the one you passed — check that you register debug/QA keys too.
Query the official API yourself (curl)
Enable “Android Developer ID Status API” in a Google Cloud project and create an API key. Default quota: 1,000 requests/day.
curl -s "https://androiddeveloperidstatus.googleapis.com/v1/packages/com.acme.app/packageRegistrationStatus:check?certificateFingerprint=SHA256_HEX" \
-H "X-Goog-Api-Key: $ANDROID_STATUS_API_KEY"
GitHub Actions: fail the build if a package is not registered
- name: Check Android developer verification
env:
KEY: ${{ secrets.ANDROID_STATUS_API_KEY }}
run: |
for p in com.acme.app com.acme.app.debug com.acme.app.staging; do
s=$(curl -s "https://androiddeveloperidstatus.googleapis.com/v1/packages/$p/packageRegistrationStatus:check" -H "X-Goog-Api-Key: $KEY" | jq -r .state)
echo "$p: $s"
[ "$s" = "REGISTERED" ] || fail=1
done
[ -z "$fail" ]
No API key? Use our endpoint
curl -s "https://sideloadcheck.pages.dev/api/check?p=com.acme.app,com.acme.app.debug"
Cached for a few hours, fair-use limits apply. Use your own key for CI.
Registration checklist
- List every applicationId from all build types and product flavors — look for
applicationIdSuffixin build.gradle. - Run
./gradlew signingReportto get the SHA-256 of every variant’s signing key, including debug keystores used for QA builds. - Hobby app with up to 20 testers? The free limited-distribution account needs no government ID.
- Distribute through an enterprise/managed store? Apps on managed devices are exempt.