android - 如何使用单个密钥库签署多种风格的 APK

我有一个应用程序的 11 种风格和一个应用程序的密钥库。我希望使用一个密钥库来签署多种产品风格,如下所示。

signingConfigs {
    release {
        storeFile file("Users/avalon/retailr.jks")
        storePassword storePassword
        keyAlias "alias"
        keyPassword keyPassword
    }
}
...
...
productFlavors{
    flavorone {
        ...
        signingConfig signingConfigs.release
    }
    flavortwo {
        ...
        signingConfig signingConfigs.release
    }



}

但是,在运行 The apk for your currently selected variant cannot be signed. Please specify a signing configuration for this variant (flavorone-release) 的配置期间,我不断收到错误消息。这是否意味着我必须为应用程序进行 11 种不同的密钥库配置,或者有什么方法可以使用吗?

回答1

你试过这样吗?

signingConfigs {
    configFlavor1 {
        keyAlias 'abcdef'
        keyPassword 'password'
        storeFile file('keystore.jks')
        storePassword 'password'
    }

    configFlavor2 {
        keyAlias 'abcdef'
        keyPassword 'password'
        storeFile file('keystore.jks')
        storePassword 'password'
    }

}

然后在

buildTypes {
    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        productFlavors.flavor1.signingConfig signingConfigs.configFlavor1
       

        productFlavors.flavor2.signingConfig signingConfigs.configFlavor2
    }

回答2

您不必为每个变体添加多个配置。在 app/build.gradle 中,您可以在构建类型中提及,如下所示

buildTypes {
    release {
        signingConfig signingConfigs.release
    }
}

在您的 signinconfig 部分中,您可以拥有以下内容

signingConfigs {
        release {
            keyAlias 'keyAlias'
            keyPassword 'keyPassword'
            storePassword 'storePassword'
            storeFile file("${rootDir}/keystores/app.keystore")
        }

    }

相似文章

随机推荐

最新文章