大佬教程收集整理的这篇文章主要介绍了在android的build.gradle中创建和访问productFlavor变量,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
def token = null productFlavors { prod { applicationId "de.example.appname" buildConfigField 'String','FLAVOR_ID','"0"' buildConfigField 'String','HOCKEY_APP_ID','"1234567890"' token = "1q2w3e4r5t6z7u8i9o0p" } demo { applicationId "de.example.appname.demo" buildConfigField 'String','"1"' buildConfigField 'String','"987654321"' token = "p0o9i8u7z6t5r4e3w2q1" } }
在像“productFlavors”这样的级别上有hockeyApp-setTings:
hockeyapp { apiToken = token releaseType = 0 notify = 0 status = 1 notesType = 1 notes = "Uploaded with gradle" }
./gradlew uploadProdReleaseToHockeyApp [...]
不幸的是,prod-flavor的变量标记总是被demo-value覆盖.因此,在每次上传过程后,我都会遇到错误
因为gradle尝试使用demo-token上传prod-flavor.
这里有一些额外的基本数据
compileSdkVersion 24 buildToolsVersion "24.0.1" compile 'net.hockeyapp.android:HockeySDK:4.0.0' classpath 'com.android.tools.build:gradle:2.1.3' classpath 'de.Felixschulze.gradle:gradle-hockeyapp-plugin:3.5'
hockeyapp { apiToken = "not_required" releaseType = 0 notify = 0 status = 2 teams = 1234 notesType = 1 }
在下一步中添加基于flavor的gradle任务来修改你hockeyapp的apiToken:
task setDevReleaseApiToken << { hockeyapp.apiToken = "1234567890abcdefghijklmnopqrstuvwxyz" } task setProdReleaseApiToken << { hockeyapp.apiToken = "1234567890abcdefghijklmnopqrstuvwxyz" }
这些任务在gradle的whenTaskAdded-task中调用,你可以像这样简单地“覆盖”它:
tasks.whenTaskAdded { task -> if (task.name == 'uploadDevReleaseToHockeyApp') { task.dependsOn 'setDevReleaseApiToken' } else if (task.name == 'uploadProdReleaseToHockeyApp') { task.dependsOn 'setProdReleaseApiToken' } }
每次调用任务uploadDevReleaseToHockeyApp(手动或通过CI ..)时,都会调用任务setDevReleaseApiToken并分配相关的apiToken.
如果需要,为所有其他风格扩展此架构!
以上是大佬教程为你收集整理的在android的build.gradle中创建和访问productFlavor变量全部内容,希望文章能够帮你解决在android的build.gradle中创建和访问productFlavor变量所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。