我有搜索Gradle官方网站和
Android开发者官方网站,但找不到答案.
>在android build.gradle中,什么是“它”.在下面的buildConfigField方法中?这是一个对象的实例吗?
我发现将buildConfigField方法移动到defaultConfig允许我使用没有“它”的方法.
>两者有什么区别?为什么我可以使用另一种方法?
android { ... defaultConfig { ... buildConfigField 'String','API_KEY',MyApiKey } buildTypes { release { ... } } buildTypes.all { ... } buildTypes.each { ... it.buildConfigField 'String',MyApiKey } }
解决方法
Gradle构建脚本是增强的Groovy脚本.当您在Groovy脚本或Gradle构建脚本中看到“it”时,它表示传递给闭包的对象.在您的示例中,闭包是传递给“each”的“{…}”.因此,它遍历“buildTypes”集合(或可迭代的东西),将每个条目传递给闭包,并将传递的对象引用为“it”.您可以更改传递给闭包的对象的名称,但默认情况下它是“it”.