我过去常常在我的安卓项目中添加一些属性给BuildConfig,这取决于构建变量和其他逻辑。
使用Gradle 7和AGP 7.0.1,我不知道如何在gradle文件中的BuildConfig闭包中添加一个onVariants字段:
androidComponents {
onVariants(selector().withBuildType("release"), {
...here...
})
}我试过几件事,比如:
it.buildConfigFields.put("MY_KEY", BuildConfigField("String", "\"$someSecretValue\"", null))或
it.addBuildConfigField("MY_KEY", "\"$someSecretValue\"", "key description")它只适用于kotlin中的构建文件。
我如何使用AGP 7的变体Api来完成这个任务?
这是我想迁移的原始代码:
android.applicationVariants
.matching { v -> ['release'].contains(v.name) }
.all { variant ->
variant.buildConfigField('String', 'MY_KEY', '"$someSecretValue"')
}任何建议都是非常感谢的!
发布于 2021-12-28 10:46:49
it.buildConfigFields.put("MY_KEY", BuildConfigField("String", "\"$someSecretValue\"", null))==>新BuildConfigField
it.buildConfigFields.put("MY_KEY", new BuildConfigField("String", "\"$someSecretValue\"", null))发布于 2022-02-25 13:05:33
def buildConfigTask = project.tasks.register("buildConfigTask")
androidComponents {
onVariants(selector().withBuildType("release"), { variant ->
variant.buildConfigFields.put("MY_KEY", buildConfigTask.map {
new BuildConfigField("String", "\"MY_KEY_VALUE\"")
})
})
}
https://stackoverflow.com/questions/69001506
复制相似问题