2016-06-30 24 views
7

我有搜索Gradle官方網站和Android開發者官方網站,但找不到答案。在Android中Gradle build.gradle it.buildConfigField中的「it」是什麼?

  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 
        } 
    } 
    

回答

5

搖籃構建腳本是增強Groovy腳本。當您在Groovy腳本或Gradle構建腳本中看到「it」時,它表示傳遞給閉包的對象。在你的例子中,閉包是傳遞給「each」的「{...}」。因此,它遍歷「buildTypes」集合(或可迭代的東西),將每個條目傳遞給閉包,並將傳遞的對象引用爲「it」。您可以更改傳遞給閉包的對象的名稱,但默認情況下它是「它」。

+0

從您的回答中,我意識到我應該研究Groovy文檔以獲得詳細解釋。 – ethan

相關問題