在这个例子中,我们检查下:
这一章我们将进修构建版本,它能使得开辟更有效力,并且进修若何应用它们。然后我们会评论辩论构建版本和临盆版本的不合,以及若何将其归并。我们会商量签名机制,若何针对不合的变种签名等。
你可以看到blueFreeRelease和bluePaidRelease被清除在外,如不雅你运行gradlew tasks,你会发明所有的关于上述变体的tasks不再存在。
签名设备
在你宣布你的应用之前,你须要为你的app私钥签名。如不雅你有付费版和免费版,你须要有不合的key去签名不合的变体。这就是设备签名的好处。设备签名可以如许定义:
- android {
- signingConfigs {
- staging.initWith(signingConfigs.debug)
- release {
- storeFile file("release.keystore")
- storePassword"secretpassword"
- keyAlias "gradleforandroid"
- keyPassword "secretpassword"
- }
- }
- }
在这个例子中,我们创建了2个不合的签名设备。debug设备是as默认的,其应用了公共的keystore和password,所以没有须要为debug版本创建签名设备了。staging设备应用了initWith()办法,其会复制其他的签名设备。这意味着staging和debug的key是一样的。
release设备应用了storeFile,定义了key alias和暗码。当然这不是一个好的选择,你须要在 Gradle properties文件中设备。
当你定义了签名设备后,你须要应用它们。构建版本都有一个属性叫做signingConfig,你可以这么干:
- android {
- buildTypes {
- release {
- signingConfig signingConfigs.release
- }
- }
- }
上例应用了buildTypes,然则你可能须要对每个版本生成不合的验证,你可以这么定义:
- android {
- productFlavors {
- blue {
- signingConfig signingConfigs.release
- }
- }
- }
当然,你在flavor中定义这些,最好会被重写,所以最好的做法是:
- android {
- buildTypes {
- release {
- productFlavors.red.signingConfig signingConfigs.red
推荐阅读
美国德克萨斯州达拉斯市官员称,因为电脑黑客入侵,达拉斯所有紧急戒备体系在夜琅绫蛆叫了90分钟阁下,这是至今出现的最大年夜范围戒备体系入侵变乱。城市应急治理主任罗克·瓦兹(R>>>详细阅读
本文标题:Gradle for Android 第四篇( 构建变体 )
地址:http://www.17bianji.com/lsqh/34708.html
1/2 1