2016-03-16 16 views
21

Ho appena notato che Gradle ha released version 2.12 e in base alle note sulla versione gli script dovrebbero essere compilati fino al 20% più velocemente. Vorrei passare a questa versione in Android Studio.Come utilizzare l'ultima versione gradle in Android Studio

Sto usando v1.5.1 e nelle impostazioni ho selezionato l'opzione "Usa default gradle wrapper", il che significa che invece di usare un'installazione gradle locale per ogni progetto, verrà utilizzata una versione gradle specifica ogni progetto. La versione utilizzata è quella definita nel file build.gradle. Esempio:

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:1.5.0' 

     // NOTE: Do not place your application dependencies here; they belong 
     // in the individual module build.gradle files 
    } 
} 

Ora se cambio che a questo:

classpath 'com.android.tools.build:gradle:2.12' 

poi Android Studio non riesce a trovare quella versione e getta un errore. Apparentemente come cerca di trovare i file binari in una cache locale prima (Android Studio/Gradle/m2repository) e poi cerca di scaricarlo da bintray:

https://jcenter.bintray.com/com/android/tools/build/gradle/2.12/gradle-2.12.jar 

Navigando in published builds sembra che l'ultima versione disponibile qui è v2 .1.0-alfa1.

  • Perché la v2.12 non è ancora in bintray? Non è compatibile con Android Studio?
  • Se fosse compatibile, esiste un modo per scaricarlo e utilizzare un'installazione locale in base al progetto? (Non voglio rompere vecchi progetti già in controllo di versione)
+0

Controllare [questa risposta aggiornato] (http://stackoverflow.com/a/37267191/2826147) –

risposta

24

com.android.tools.build:gradle è il plug-in di Android per gradle. Non è la stessa cosa della distribuzione gradle. Vedi qui per informazioni sul rilascio/versione di Gradle plugin di Android: https://bintray.com/android/android-tools/com.android.tools.build.gradle/view

Per modificare la versione Gradle che il plugin usa, modificare il file:

<Project>/gradle/wrapper/gradle-wrapper.properties 

e cambiare questa linea al Gradle verison si vuole:

distributionUrl=http\://services.gradle.org/distributions/gradle-2.12-all.zip 

Quindi ricostruire il progetto.

Tieni presente che la versione del plug-in Android che stai utilizzando potrebbe non essere stata testata con questa nuovissima versione gradle e potrebbe causare problemi imprevisti.

+2

C'è un modo per sapere quali versioni gradle sono compatibili con il plug-in? Non vedo nulla nella pagina che hai collegato. –

+2

Beh, ti dicono qual è la versione minima gradle da usare, nelle note di rilascio del plugin. Per la versione 1.5.0, apparentemente la versione gradle minima è 2.2.1. Non dicono abbastanza quanto in alto si può andare prima che le cose si rompano. Vedi qui: http://developer.android.com/tools/revisions/gradle-plugin.html Vedi anche la sezione "Requisiti Gradle" qui: http://tools.android.com/tech-docs/new-build-system/gradle-experimental – RaGe

2

Prova questa: - modificare questo URL in base alla versione più recente in gradle-wrapper.properties e quindi modificare Gradle.

distributionUrl=https\://services.gradle.org/distributions/gradle-2.9-all.zip 

Speranza che aiuta Grazie

2

Non è possibile utilizzare il wrapper di default Gradle se si desidera utilizzare l'ultima, si deve andare avanti dalle impostazioni, selezionare "Usa involucro Gradle personalizzabile", quindi variazione

Project/gradle/wrapper/gradle-wrapper.properties 

valore distributionUrl

distributionUrl=https\://services.gradle.org/distributions/gradle-2.12-bin.zip 

Gradle Settings

+0

Sono un po 'perso qui. Non riesco a vedere alcuna opzione "Usa wrapper gradle personalizzabile" nelle impostazioni del gradle. Intendi "Utilizzare la distribuzione gradle locale" per caso? –

+0

No, ho preso uno screenshot ed è lì. –

+0

È necessario utilizzare AS 2 beta. Sono ancora su 1.5.1 –

3

Che cosa ha funzionato per me in aggiunta a quanto sopra (cambiando il distibutionURL) è stato quello di mantenere il mio percorso di classe come 2.0.0 in build.gradle (Modile: app):

classpath 'com.android.tools.build:gradle:2.0.0' 

In File> Struttura del progetto> Progetto: cambio 'versione Gradle' a 2.12

In File> impostazioni> Crea, esecuzione, distribuzione> Crea Strumenti> Gradle: sezione sotto 'impostazioni del progetto a livello', ci sono 2 opzioni:

  1. Usa involucro di default Gradle (consigliato)

  2. Scarica gradle-2.12-all.zip da http://gradle.org/post-download-gradle/ quindi selezionare 'Usa distibution Gradle locale' e mappare 'Gradle casa:" vale a dire C: /Gradle/gradle-2.12

Nota che l'opzione 2 richiede il download di ogni aggiornamento della versione gradle.

27

a partire da 2

L'ultima plugin è:

Download

classpath 'com.android.tools.build:gradle:[INSERT LATEST HERE]' 

Per AS 3

Si consiglia di aggiornare i repository per includere google(), è inoltre necessario Gradle> 4.1 per quello e l'ultimo è quindi qui:

https://developer.android.com/studio/releases/gradle-plugin.html

Al momento della scrittura che era:

buildscript { 
    repositories { 
     // Gradle 4.1 and higher include support for Google's Maven repo using 
     // the google() method. And you need to include this repo to download 
     // Android plugin 3.0.0 or higher. 
     google() 
     ... 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:3.0.1' 
    } 
} 
+4

Bello! Molto meglio di 12 anni post – behelit

+0

Sei sicuro? L'immagine mostra attualmente "2.3.3", mentre https://developer.android.com/studio/releases/gradle-plugin.html contiene il testo 'classpath 'com.android.tools.build:gradle:3.0.1' ' –

+0

Hanno iniziato a usare il loro repository Maven ... Vedrò cosa posso fare. – weston