Guide summary
Place the console's adi-registration.properties proof in an APK only when an existing-package signing-key ownership challenge requests it.
For: Developers proving ownership of an existing Android package name with a signed APK.
Release sequence
- Use this procedure only when the console shows an APK ownership-proof challenge for the selected known key.
- Copy the snippet from that active package-registration challenge in the official console.
- Create app/src/main/assets/adi-registration.properties with the exact filename and snippet.
- Build a release APK signed by the private key matching the selected public SHA-256 fingerprint.
- Inspect the APK asset and certificate, then upload it to the same console challenge.
Quick facts
The console-generated snippet is not a private signing key and does not prove ownership by itself: the uploaded APK must contain the active snippet and carry the selected certificate. Do not substitute a guessed value, add a .txt suffix or use an unrelated Play upload key.
Detailed guidance
Add the active challenge snippet to the proof APK
Use this procedure when the console asks you to prove ownership of a known signing key for an existing package. A flow that lets you register any key may not request an APK proof. Copy the exact verification snippet from the active console challenge into app/src/main/assets/adi-registration.properties; if your app module or source set differs, use its corresponding assets directory so the file lands at assets/adi-registration.properties inside the APK.
Build the proof APK with the private key whose public SHA-256 certificate you selected. The properties file supplies challenge evidence; it is not a private signing key and does not replace the APK signature.
- If the file is missing, check the APK path, selected variant and assets source set.
- If apksigner shows an unexpected SHA-256, rebuild with the selected key or inspect the correct artifact.
- If both checks match but the console rejects the proof, confirm the package and active challenge, then follow the console's specific error guidance.
- Upload the proof APK in the same console workflow; after it reports completion, recheck the package-and-certificate pair.
unzip -l app-release.apk assets/adi-registration.properties
unzip -p app-release.apk assets/adi-registration.properties
apksigner verify --print-certs app-release.apkHave the production package name and signing certificate ready? Query the official registration state, then use the result to choose your next step.
Run status check →Frequently asked questions
Is the snippet my private signing key?
No. It is the verification token for the console challenge. The private key remains in your keystore or signing service, and the APK still has to be signed with the key that matches the selected public certificate.
Does every package-registration flow require this file?
No. Add adi-registration.properties only when the console asks for an APK ownership proof. Android's API flow requires that proof when a known key is selected from a list; a flow that accepts any key does not require the ownership challenge.
Can I use an empty project?
Google's Play package-registration guidance permits a proof APK from an empty project with the same package name. It still must contain the exact console snippet and be signed by the private key that matches the selected public fingerprint.
Sources and review
Last reviewed: