2016-06-30 13 views
7

Ho cercato sito web ufficiale Gradle e sito web per sviluppatori Android, ma non sono riuscito a trovare una risposta a questo.In Android Gradle build.gradle Che cos'è "it" in it.buildConfigField?

  1. In android build.gradle, qual è il "it". nel seguente metodo buildConfigField? Questa è un'istanza di un oggetto?

Ho scoperto che lo spostamento del metodo buildConfigField fino a defaultConfig mi consente di utilizzare il metodo senza "it".

  1. Qual è la differenza tra i due? Perché potrei usare un metodo rispetto all'altro?

    android { 
        ... 
    
        defaultConfig { 
        ... 
    
         buildConfigField 'String', 'API_KEY', MyApiKey 
        } 
        buildTypes { 
         release { 
          ... 
         } 
        } 
        buildTypes.all { 
         ... 
        } 
        buildTypes.each { 
         ... 
    
         it.buildConfigField 'String', 'API_KEY', MyApiKey 
        } 
    } 
    

risposta

5

Gradle costruire gli script sono stati migliorati gli script Groovy. Quando vedi "it" in uno script Groovy o in uno script di build Gradle, rappresenta l'oggetto che è stato passato in una chiusura. Nel tuo esempio, la chiusura è "{...}" che è stata passata a "ciascuno". Quindi, itera attraverso la collezione "buildTypes" (o qualcosa che è iterabile), passa ogni voce alla chiusura e fa riferimento all'oggetto passato come "it". Puoi cambiare il nome dell'oggetto passato alla chiusura, ma è "it" per impostazione predefinita.

+0

Dalla tua risposta, ho capito che avrei dovuto cercare la documentazione di Groovy per la spiegazione dettagliata. – ethan

Problemi correlati