小编Sco*_*sle的帖子

如何为具有风味维度的不同产品变体指定签名配置?

之前已经问过这个问题(例如Gradle 签名与风味和维度),但答案似乎不适用于 Gradle 3.5。

使用 2 个风味维度,我为每个发布变体指定了签名配置,如下所示:

signingConfigs {
    klondikeGoogleRelease
    ...
    pyramidGoogleRelease
    pyramidAmazonRelease
}

buildTypes {
    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
    debug {
        minifyEnabled false
    }
}

applicationVariants.all { variant ->
    def flavors = variant.productFlavors
    variant.mergedFlavor.setApplicationId flavors[0].ext.applicationId + flavors[1].ext.applicationIdSuffix

    if (variant.buildType.name == "release") {
        variant.mergedFlavor.setSigningConfig android.signingConfigs[variant.name]
    }
    println "Mergedflavor: ${variant.name} signing ${variant.signingConfig.name} ready ${variant.signingReady}"
}
Run Code Online (Sandbox Code Playgroud)

这足以gradle signingReport报告正确的设置,但gradle assemblePyramidGoogleRelease(例如)将构建一个未签名的 apk。

它正在跳过validateSigningPyramidGoogleRelease任务,这反映在gradle tasks --all输出结果中,没有列出validateSigning*任何*Release变体。

android gradle android-productflavors android-flavordimension

5
推荐指数
1
解决办法
739
查看次数