在Android Gradle build.gradle it.buildConfigField中的"it"是什么?

eth*_*han 7 groovy android gradle

我有搜索Gradle官方网站和Android开发者官方网站,但找不到答案.

  1. 在android build.gradle中,什么是"它".在下面的buildConfigField方法中?这是一个对象的实例吗?

我发现将buildConfigField方法移动到defaultConfig允许我使用没有"it"的方法.

  1. 两者有什么区别?为什么我可以使用另一种方法?

    android {
        ...
    
        defaultConfig {
        ...
    
            buildConfigField 'String', 'API_KEY', MyApiKey
        }
        buildTypes {
            release {
                ...
            }
        }
        buildTypes.all {
            ...
        }
        buildTypes.each {
            ...
    
            it.buildConfigField 'String', 'API_KEY', MyApiKey
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)

Dav*_*arr 5

Gradle构建脚本是增强的Groovy脚本.当您在Groovy脚本或Gradle构建脚本中看到"it"时,它表示传递给闭包的对象.在您的示例中,闭包是传递给"each"的"{...}".因此,它遍历"buildTypes"集合(或可迭代的东西),将每个条目传递给闭包,并将传递的对象引用为"it".您可以更改传递给闭包的对象的名称,但默认情况下它是"它".