Android – even if “v2signingenabled” is set to false, APK cannot be signed “using traditional scheme only”
I updated Android studio to the latest stable version, Android studio 2.3, and upgraded gradle to 2.3.0
Now, when I try to generate a signed APK for the app release version, this "extra" content will be displayed in the last step (signed version:):
I clicked "signature help" and opened page
Following the documentation, I made the following changes to my build.gradle file:
apply plugin: 'com.android.application'
//Put Fabric plugin after Android plugin
apply plugin: 'io.fabric'
android {
signingConfigs {
config {
keyAlias 'xxxxxx'
keyPassword 'xxxxxx'
storeFile file('/Users/xxxxx')
storePassword 'xxxxxx'
v2SigningEnabled false
}
}
compileSdkVersion 25
buildToolsVersion "25.0.0"
lintOptions {
abortOnError false
}
defaultConfig {
applicationId "com.xxxxx.xxx"
minSdkVersion 16
targetSdkVersion 25
versionCode 1
versionName "1.0"
multiDexEnabled true
vectorDrawables.useSupportLibrary = true
}
buildTypes {
release {
shrinkResources true
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.config
}
debug {
signingConfig signingConfigs.config
}
}
repositories {
mavenCentral()
maven {
url "https://jitpack.io"
}
maven { url 'https://maven.fabric.io/public' }
}
dexOptions {
javaMaxHeapSize "4g"
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile('com.mikepenz:fastadapter:1.8.2@aar') {
transitive = true
}
compile('com.crashlytics.sdk.android:crashlytics:2.6.6@aar') {
transitive = true;
}
compile 'com.android.support:appcompat-v7:25.0.0'
compile 'com.android.support:design:25.0.0'
compile 'com.android.support:cardview-v7:25.0.0'
compile 'com.android.support:recyclerview-v7:25.0.0'
compile 'com.google.android.gms:play-services:10.2.0'
compile 'com.google.android.gms:play-services-location:10.2.0'
compile 'com.google.firebase:firebase-auth:10.2.0'
compile 'com.android.support:support-v4:25.0.0'
compile 'com.google.firebase:firebase-database:10.2.0'
testCompile 'junit:junit:4.12'
}
apply plugin: 'com.google.gms.google-services'
And try to generate the signed APK again, but this "extra" content is still displayed
What can I do now to sign the APK "using traditional solutions only"?
resolvent:
What you see in the top screenshot is the Android studio wizard for creating a signature APK. You only need to check the V1 (jar signature) check box. The other check box is for a new signature
The settings you have in the build.gradle file do not affect what the Android studio wizard shows you. It only affects the build on the command line. Therefore, checking V1 and then clicking finish will work well
I do recommend that you prepare the project for the new signature, as it will greatly reduce the user's installation time (then you will check V1 and V2 signature. V1 for backward compatibility)