MY ACCOUNT / MY ORGANIZATON
Troubleshooting
BEST PRACTICES

Android 11 Signing for Google Play

As per Google's update on Android 11 behavior changes at https://developer.android.com/about/versions/11/behavior-changes-11#minimum-signature-scheme

Apps that target Android 11 (API level 30) that are currently only signed using APK Signature Scheme v1 must now also be signed using APK Signature Scheme v2 or higher. Users can't install or update apps that are only signed with APK Signature Scheme v1 on devices that run Android 11.

The current Android Sign step in Appcircle utilizes jarsigner to sign apps with the APK Signature Scheme v1 and the alternative apksigner cannot be used to sign app bundles (AAB).

The solution for this is to utilize signing in gradle within the app. A sample build.gradle file that utilizes APK Signature Scheme v2 can be found at https://github.com/appcircleio/appcircle-sample-android/blob/v2-sign/app/build.gradle and the sample code can be seen below:

signingConfigs {
release {
storeFile file("${System.getenv("AC_ANDROID_KEYSTORE_PATH")}")
storePassword "${System.getenv("AC_ANDROID_KEYSTORE_PASSWORD")}"
keyAlias "${System.getenv("AC_ANDROID_ALIAS")}"
keyPassword "${System.getenv("AC_ANDROID_ALIAS_PASSWORD")}"
v2SigningEnabled true
v1SigningEnabled true
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
}