Prepare Android publication
The Android Access App application is provided as Android App Bundle for your production environment with production
flavor. For testing purposes, we also deliver the Android Package Kit (APK) in the flavors production
and integration
. Both versions are unsigned.
For more information on the Android App Bundle, see Android App Bundle.
Prerequisites
- From August 2021, new apps are to be published with the Android App Bundle on Google Play. If you want to distribute your application in the Google Play Store, sign the Android App Bundle as described in Signing the Android App Bundle.
- You can use the
production
andintegration
APKs to test both flavors internally. Before installing the APKs, sign them. For more information, see Signing the APK. - Provide the App Content before releasing the Access App in the Google Play Console:
- Go to Google Play Console, and select your Access App.
- On the left side in the Policy section, click on App Content.
- In News apps, answer No to the question Is your app a news app?. The Access App is not a news application.
- In Data safety, answer No to the question Does your app collect or share any of the required user data types?. The Access App does not send any user identifier during authentication.
- In Ads, answer No to the question Does your app use advertising ID?. The Access App does not have advertising.
Sign the Android App Bundle
The prerequisite is a keystore with a private key to sign the app as Android App Bundle or as APK.
If you do not have a Java Keystore with the signing key used for production applications, generate one:
- Ensure a Java Runtime Environment is installed on your system. We recommend 1.8.0 or higher.
- Generate the keystore with the
keytool
command-line tool. You can change the size and the validity of the RSA key to suit your preferences, see signing considerations. In particular, ensure that the key remains the same for the entire application lifetime. The next code snippet shows an example of the generation of a keystore:
keytool -genkey -v -keystore keystore-containing-signing-key -alias certificate-alias -keyalg RSA -keysize 2048 -validity 10000
Sign the unaligned
production
Android App Bundle with thejarsigner
command-line tool:jarsigner -keystore keystore-containing-signing-key app-bundle-unsigned.aab -signedjar app-bundle-signed.aab certificate-alias
For more information on the jarsigner tool, see jarsigner.
- Upload the signed Android App Bundle -
app-bundle-signed.aab
in the example above - to the Google Play Store as described in the Android documentation.
Sign the APK
The Android build tools are required to complete the following steps, see Android build tools.
The prerequisite is a keystore with a private key to sign the app as Android App Bundle or as APK.
If you do not have a Java Keystore with the signing key used for production applications, generate one:
- Ensure a Java Runtime Environment is installed on your system. We recommend 1.8.0 or higher.
- Generate the keystore with the
keytool
command-line tool. You can change the key size and the validity of the RSA key to suit your preferences, see signing considerations. In particular, ensure that the key remains the same for the entire application lifetime. The code snippet shows an example of generating a keystore:
keytool -genkey -v -keystore keystore-containing-signing-key -alias example-name-of-key -keyalg RSA -keysize 2048 -validity 10000
Align the unaligned
production
APK by using thezipalign
command:zipalign -v -p 4 app-unsigned.apk app-unsigned-aligned.apk
The integration
flavor of the Access App is already aligned. Running zipalign
on it fails.
Sign the APK with the private key via the
apksigner
command:apksigner sign --ks keystore-containing-signing-key.jks --out app-release.apk app-unsigned-aligned.apk
Verify that the signing process is successful:
apksigner verify app-release.apk