其他分享
首页 > 其他分享> > android-即使将“ v2SigningEnabled”设置为false,也无法“仅使用传统方案”对apk进行签名

android-即使将“ v2SigningEnabled”设置为false,也无法“仅使用传统方案”对apk进行签名

作者:互联网

我将android-studio更新为最新的稳定版本,即“ Android Studio 2.3”,同时将gradle升级为2.3.0.

现在,当我尝试生成应用发布版本的签名apk时,在最后一步中将显示此“额外”内容(签名版本:):

enter image description here

我单击“签名帮助”,然后打开了page.

我按照文档操作,对我的build.gradle文件进行了如下更改:

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'

并尝试再次生成签名的apk,但仍然显示出此“额外”内容.

我现在该怎么办才能“仅使用传统方案”签署apk?

解决方法:

您在顶部屏幕截图中看到的是用于创建签名APK的Android Studio向导.您只需要勾选V1(Jar签名)复选框.另一个复选框用于新签名.

您在build.gradle文件中拥有的设置不会影响Android Studio向导向您显示的内容.它仅影响命令行中的构建.因此,勾选V1,然后单击“完成”将很好地工作.

我确实建议您为新的签名做好项目准备,因为它会大大减少用户的安装时间(然后您将勾选V1和V2签名.V1用于向后兼容)

标签:android-7-0-nougat,android-7-1-nougat,android-studio,android-studio-2-3,android
来源: https://codeday.me/bug/20191111/2021301.html