我想弄清楚如何为生成的各个 flavor 维度指定 signingConfig
。我已经看到了在使用不同 flavor 但不使用 flavor 维度时如何做到这一点。
我目前正在为不同的 flavor 维度成功应用不同的包名称,我想也许可以使用 signingConfig
来完成类似的事情?
> android.applicationVariants.all { variant ->
> def flavorString = variant.getVariantData().getVariantConfiguration().getFlavorName()
> def mergedFlavour = variant.getVariantData().getVariantConfiguration().getMergedFlavor();
>
> if(flavorString.equalsIgnoreCase("amazonFree")) {
> mergedFlavour.setApplicationId("com.test.amazon.free")
> }
> if(flavorString.equalsIgnoreCase("amazonPro")) {
> mergedFlavour.setApplicationId("com.test.amazon.pro")
> }
> if(flavorString.equalsIgnoreCase("googleFree")) {
> mergedFlavour.setApplicationId("com.test.google.free")
> }
> if(flavorString.equalsIgnoreCase("googlePro")) {
> mergedFlavour.setApplicationId("com.test.google.pro")
> } }
我的口味设置
// Special flavor dimensions for different markets and // versions paid and free. flavorDimensions 'market', 'version' productFlavors { amazon { flavorDimension 'market' } google { flavorDimension 'market' } // Base free version free { flavorDimension 'version' // Need this cause of all the ad libraries we are using :/ defaultConfig.multiDexEnabled true // For now we sign all free versions with this config // cause we have no idea how to sign the individual flavor dimensions. signingConfig signingConfigs.googleFree } // Base pro version pro { flavorDimension 'version' // For now we sign all free versions with this config // cause we have no idea how to sign the individual flavor dimensions. signingConfig signingConfigs.googlePro } }
最佳答案
首先,applicationId 可以应用在 productFlavors
block 本身:
productFlavors {
amazonFree {
applicationId 'com.test.amazon.free'
}
amazonPro {
applicationId 'com.test.amazon.pro'
}
googleFree {
applicationId 'com.test.google.free'
}
googlePro {
applicationId 'com.test.google.pro'
}
}
签名配置可以按照相同的方式配置:
productFlavors {
amazonFree {
applicationId 'com.test.amazon.free'
signingConfig signingConfigs.amazonFree
}
amazonPro {
applicationId 'com.test.amazon.pro'
signingConfig signingConfigs.amazonPro
}
googleFree {
applicationId 'com.test.google.free'
signingConfig signingConfigs.googleFree
}
googlePro {
applicationId 'com.test.google.pro'
signingConfig signingConfigs.googlePro
}
}
关于android - 不同 flavor 维度如何设置signingConfig?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29438985/