Errore: Impossibile trovare il wrapper gradle nell'SDK di Android. Potrebbe essere necessario aggiornare l'SDK di Android - Android


199

So che ci sono molte domande simili a questa, ma non sono riuscito a trovare una soluzione al mio problema in nessuna di queste. Inoltre, fornirò i dettagli per il mio caso specifico.

Ho codificato un progetto ionico in Ubuntu 16.04 LTS e ora devo costruirlo per il rilascio. Quindi eseguo il comando:

cordova build --release android

E mi viene mostrato il seguente errore:

Error: Could not find gradle wrapper within Android SDK. Might need to update your Android SDK.
Looked here: /home/user/Android/Sdk/tools/templates/gradle/wrapper
  • Non ho questa templates/gradle/wrapperdirectory.
  • Il mio Android Studio è la 2.3, l'ultima versione per ora
  • Strumenti della piattaforma SDK Android 25.0.3
  • Strumenti SDK per Android 25.3.1
  • Tutte le versioni di Android da 2.1 (Eclair) a 7.1.1 (Nougat)

Dopo approfondite ricerche, ho inserito nel file tutte le variabili d'ambiente relative ad Android Studio /etc/environment. Quindi ora sembra così:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/game:/home/<user>/Android/Sdk:/home/<user>/Android/Sdk/tools:/home/<user>/Android/Sdk/platform-tools"

ANDROID_HOME=/home/<user>/Android/Sdk
export ANDROID_HOME

JAVA_HOME=/usr/lib/jvm/java-8-oracle
export JAVA_HOME

GRADLE_HOME=/opt/android-studio/gradle/gradle-3.2
export GRADLE_HOME

Ora, per provare le variabili di ambiente, eseguo i seguenti comandi:

source /etc/environment
echo $PATH
echo $ANDROID_HOME
echo $JAVA_HOME
echo $GRADLE_HOME

E tutte le variabili del percorso sono visualizzate correttamente.

Quindi, sembra che le variabili di ambiente siano come dovrebbero essere in base alle varie domande simili e nei tutorial che ho cercato. Qualcuno sa cosa sto facendo di sbagliato? Perché riscontro ancora l'errore Gradle Wrapper?

Risposte:


246

Ho appena avuto lo stesso problema.

Potrebbe essere un'occlusione nelle istruzioni su come installare (o aggiornare) Android Studio con tutti gli strumenti SDK che sia io che io abbiamo perso o eventualmente un bug creato da una nuova versione di Studio che non segue le stesse convenzioni sui file come versioni precedenti. Mi rivolgo a quest'ultimo poiché molti dei messaggi SO su questo argomento sembrano indicare un ANDROID_PATH con una cartella chiamata android-sdk che non appare nell'ultima versione (2.3.0.8).

Sembra che ci sia una soluzione alternativa , che ho appena avuto modo di lavorare sulla mia macchina. Ecco cosa ho fatto:

  • Scarica tools_r25.2.3-windows.zip da Download Android .
  • Zip estratto sul desktop
  • Sostituito C: \ Users \ nomeutente \ AppData \ Local \ Android \ sdk \ tools con strumenti di sottocartella estratti /
  • Nella cartella del progetto:

    Le piattaforme $ cordova rimuovono le piattaforme
    $ cordova per Android aggiungono Android

Potrebbe anche essere necessario forzare la rimozione di node_modules in Android. Spero che questo aiuti.


1
Grazie, sono stato intrappolato nello stesso fenomeno, ora ho recuperato il mio ambiente dal tuo rimedio. Penso che sia colpa di Google, quindi gli sviluppatori Cordova devono attendere il prossimo aggiornamento corretto.
HirofumiTamori

1
Aveva esattamente lo stesso problema. Declassato "Strumenti SDK Android" 25.2.3 che ha risolto il problema. Probabilmente dovremmo attendere l'aggiornamento dal team di Google / Android.
Greg

3
Sostituire solo la cartella degli strumenti mi ha aiutato. Non è stato necessario rimuovere e aggiungere la piattaforma.
vahissan,

16
Molto utile, per Mac puoi fare lo stesso tranne che per scaricare strumenti per Windows, scarichi da Mac a questo indirizzo: dl.google.com/android/repository/tools_r25.2.3-macosx.zip
O. Edholm

14
Il file originale è accessibile direttamente qui: dl.google.com/android/repository/…
Devil's Advocate

254

Modifica 3:

Cordova Android 6.2.2 è stato rilasciato ed è completamente compatibile con gli strumenti SDK 26.0.xe 25.3.1. Usa questa versione:

cordova platform update android@6.2.2

o

cordova platform rm android
cordova platform add android@6.2.2

Modifica 2:

È stata rilasciata un'altra versione degli strumenti SDK per Android (26.0.x) non completamente compatibile con cordova-android 6.2.1.

Modifica: Cordova Android 6.2.1 è stato rilasciato ed è ora compatibile con l'ultimo SDK Android.

Puoi aggiornare la tua attuale piattaforma Android incompatibile con cordova platform update android@6.2.1

Oppure puoi rimuovere la piattaforma esistente e aggiungere quella nuova (eliminerà qualsiasi modifica manuale che hai fatto all'interno della yourProject/platforms/android/cartella)

cordova platform rm android cordova platform add android@6.2.1

È necessario specificare la versione perché la CLI corrente installa 6.1.x per impostazione predefinita.

Vecchia risposta:

Purtroppo gli strumenti SDK per Android 25.3.1 hanno rotto cordova-android 6.1.x

Per coloro che non vogliono effettuare il downgrade degli strumenti SDK, è possibile installare cordova-android da github url poiché la maggior parte dei problemi è già stata risolta sul ramo master.

cordova platform add https://github.com/apache/cordova-android


7
Il rilascio è ora disponibile nei repository npm, anche se non sembra essere ancora utilizzato automaticamente. cordova platform add android@6.2.0funziona, però.
Jules

3
@chrjs cordova platform add android@6.2.3è sicuro da usare ora, non è necessario aggiungere la versione github e potrebbe essere instabile, meglio usare 6.2.3 come è l'ultimo rilasciato
jcesarmobile

1
Sono su Cordova 7.0.1 e visualizzo l'errore: Error: Could not find gradle wrapper within Android SDK. Might need to update your Android SDK.Qualche consiglio?
Ethan Keller,

1
@EthanKeller ma avevi aggiunto la piattaforma Android in precedenza? In tal caso, rimuovilo per cordova platform rm androidaggiungerlocordova platform add android
jcesarmobile

1
Perché non solo android@latest?
Seanny123

56

(Fondamentalmente quello che ha già detto @ user3464070)

Per Mac:

cd ~/Library/Android/sdk
# download latest tools
curl -O https://dl.google.com/android/repository/tools_r25.2.3-macosx.zip
# overwrite existing tools folder without prompting
unzip -o tools_r25.2.3-macosx.zip
# clean up
rm tools_r25.2.3-macosx.zip

1
La prima linea potrebbe essere cd $ANDROID_HOMEper semplicità?
toxaq

1
@toxaq potrebbe essere ma $ANDROID_HOMEnon è definito sulla mia macchina.
codice di base

2
grazie mille. i tuoi comandi + usando android@6.1.2 funzionano come un incantesimo su Mac!
David Dal Busco,

43
  1. Se hai Android Studio installato nel tuo sistema, quindi copia la cartella dei modelli da C:\Program Files\Android\Android Studio\plugins\android\lib\templates
  2. Incollalo nella cartella C:\Users\<user-name>\AppData\Local\Android\sdk\tools
  3. Esegui il comando: ionic build android

Verranno scaricati tutti i file jar necessari e verrà generato il file apk per l'applicazione.

Nota: impostare le variabili di ambiente su C:\Users\<user-name>\AppData\Local\Android\sdk\tools. Imposta anche il nome utente sul tuo nome utente corrente.


1
Soluzione semplice e facile!
Jari Pekkala,

1
Questa è una soluzione semplice ed economica per chi ha Android Studio.
Johnson,

1
in realtà ha funzionato per me .. quando altre soluzioni no. Peccato che per lo più sembra dipendere dalle versioni in studio
cordova

1
A partire dal 2018 e lavorando con 2 diverse versioni di Cordova, posso garantire questa soluzione come una che funziona e non necessita di download aggiuntivi.
ravemir,

26

Per Linux esiste anche una soluzione leggermente migliore.

Passare a https://developer.android.com/studio/index.html#downloads

e scarica il file zip degli strumenti della riga di comando (in fondo alla pagina) per Linux. Estrarli nella cartella .... / Android / Sdk / in modo da sovrascrivere / estendere la cartella degli strumenti. Ora tutto funziona bene.


Sì, RJ ha risposto alla soluzione alternativa di Windows per il problema e la tua risposta è la soluzione Linux. Utile per qualcuno che non sa risolvere Windows " C:\Users\username\AppData\Local\Android\sdk\toolssu Ubuntu/home/user/Android/Sdk
rbenvenuto il

@rbenvenuto Le risposte sono sostanzialmente le stesse. Scarica gli strumenti, estrai la cartella zip e salva il contenuto estratto nella cartella degli strumenti del tuo idk. Quanto può essere difficile da capire? Sto usando un Mac e salverò su ~ / Library / Android / sdk / tools Devo rubare i voti di qualcuno per aver spiegato la stessa cosa in parole diverse?
iOSAndroidWindowsMobileAppsDev

4
@Anon Yep, non posso negare che la sua risposta sia stata praticamente la stessa spiegazione con parole diverse. Ma riesco a vedere un certo valore in esso per i principianti in difficoltà come me lol
rbenvenuto il

le versioni precedenti non sono più disponibili in developer.android.com
Ferdinand.kraft

21

Per chiunque abbia ancora questo problema, questo ha funzionato per me:

    cordova platform update android@latest

quindi costruisci e scaricherà automaticamente la versione più recente e dovrebbe funzionare


2
+1 Funziona come @ agosto 2017 e ti aggiorna cordova-android@6.2.3. Le risposte più vecchie potrebbero non funzionare o non essere più corrette. Questa situazione continua a cambiare ed è direttamente causata da Android SDK 25.3.1 che elimina il supporto per il binario Android, come descritto qui: cordova.apache.org/announcements/2017/04/05/…
JK.

1
Continuo a lavorare a marzo 2018. Non creo spesso nuovi progetti Cordova, questo è il primo dal mio precedente commento. Aveva lo stesso could not find gradle wrappererrore. Ho dovuto cercare di nuovo la soluzione su SO. Questa è una correzione per progetto, deve essere applicata a ogni nuovo progetto cordova che crei. Voterei due volte se potessi, questa è la seconda volta che questa risposta mi ha salvato ora.
JK.

14

Non è necessario eseguire il downgrade degli strumenti Android. Su Windows, Gradle si è spostato da:

C:\Users\you_username\AppData\Local\Android\sdk\tools

per:

C:\Program Files\Android\Android Studio\plugins\android\lib\templates\gradle\wrapper

Quindi devi solo regolare il tuo percorso in modo che punti alla cartella giusta.


6
Ho fatto il contrario, spostando il wrapper sul mio AppData e funziona benissimo! Grazie ^ _ ^
Nicolas_LeBot


Copia il contenuto della cartella wrapper da questo percorso C: \ Programmi \ Android \ Android Studio \ plugins \ android \ lib \ templates \ gradle \ wrapper in C: / Android / Sdk / tools / templates / gradle / wrapper
inspiredMichael

9

se hai questo errore quando ionic run android --device

## codova - android update 
npm install -g cordova
cordova platform update android

7

Ho appena copiato tutto dalla tipica installazione di Android Studio. Da: D: \ sw \ dev \ android \ studio \ plugins \ android \ lib \ templates

(l'intera directory dei modelli)

Per:

D: \ sw \ dev \ Android \ SDK \ tools

Testato con Android build ionico


Questa era la soluzione nel mio caso. Dopo questa soluzione, potresti ricevere il messaggio di licenza. Vedi stackoverflow.com/questions/40383323/…
JonathanRomer

6

Questo problema si verifica quando non si dispone del wrapper gradle negli strumenti SDK.

Come detto nelle risposte precedenti, puoi aggiornare all'ultima cordova-androidversione (funziona), ma se vuoi continuare a lavorare con cordova-cli@6.4.0e cordova-android@6.0.0, basta copiare la cartella da Android Studio ex .;

cd /Applications/Android\ Studio.app/Contents/plugins/android/lib/
cp -r templates/ $ANDROID_HOME/tools/templates
chmod +x $ANDROID_HOME/tools/templates/gradle/wrapper/gradlew

Nel mio caso, sto usando cordova-plugin-fcmed è stato testato con la vecchia versione di Cordova-Android, quindi non posso usare cordova-android@2.x(non ancora).


5

Per Linux basta creare un collegamento simbolico, in questo modo:

ln -s /android/android-studio/plugins/android/lib/templates /android/sdk/tools/templates

Non ho testato la soluzione symlink, ma sul mio sistema /opt/android-studio/plugins/android/lib/templates/gradle/wrapper/gradlewnon ha i permessi di esecuzione. Assicurati di cambiarlo prima di provare.
Ferdinand.kraft,

Non ho sotto modello / cartella sdk/tools.
PlayHardGoPro

5

Su Linux (Ubuntu nel mio caso) basta installare Gradle:

sudo apt-get install gradle

Modifica: sembra che il repository ubuntu abbia solo il grado 2.10, per le versioni più recenti: https://www.vultr.com/docs/how-to-install-gradle-on-ubuntu-16-10


1
Nessuna delle soluzioni sopra ha funzionato per me. Sto usando l'ultima versione di Cordova 7.0.1. L'installazione di Gradle dal repository di Ubuntu ha risolto il problema. È il 2017 e ancora Cordova non sa usare il livello integrato di Android Studio
sziraqui

3

Proprio di recente, ho riscontrato un problema simile e, dopo averlo fatto, funziona:

Ho modificato il file in /etc/profile

sudo nano /etc/profile

export JAVA_HOME=/home/abdul/java/jdk1.8.0_131
export PATH=$PATH:$JAVA_HOME/bin

export ANDROID_HOME=/home/abdul/Android/Sdk
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/platform-tools

export GRADLE_ANDROID_HOME=/home/abdul/android-studio/gradle
export PATH=$PATH:$GRADLE_ANDROID_HOME/gradle-3.2/bin
export PATH=$PATH:$GRADLE_ANDROID_HOME/m2repository

Altre informazioni (per ogni evenienza):

Non abbastanza sicuro della m2repositoryparte, nel primo tentativo passa il grandle ma c'è un altro errore (gradlew-command-failed-with-exit-code-

  1. Controllo se in Android Studio il repository è attivo e non è attivo, provo ad attivarlo e quando lo riprovo (Cordova build Android), scarica qualche altro file, forse dal repository? E poi quando cancello il percorso, funziona ancora. (anche grazie al campione Marcin Orlowski, quindi posso capire meglio il percorso di esportazione).

Io uso:

  • Linux Mint Serena
  • nodo: v6.10.3
  • npm: 3.10.10
  • Cordova: 7.0.0
  • Android Studio: 2.3.1
  • Strumenti della piattaforma SDK Android: 25.0.5
  • Strumenti SDK per Android: 26.0.2

Spero che possa aiutare chiunque abbia lo stesso problema come il mio e ne abbia bisogno.

Grazie




2

Nessuna delle soluzioni ha funzionato per me ad oggi. La mia situazione era che ho aggiornato il mio studio Android. La cosa più popolare per sostituire la cartella degli strumenti con l'ultima non funzionerebbe per me. Infatti non è richiesto in alcuni casi.

npm update -g cordova ha fatto il trucco per me.

Quindi ho rimosso la piattaforma e l'ho aggiunta di nuovo.

ionic platform remove android

ionic platform add android

Questo funziona per me in Ionic. Sono sicuro cordova platform remove/add androidche farà la stessa cosa. Non testato però.

Funzionando di nuovo!


2

Dopo aver provato tutto qui due volte in un ordine diverso, ho reinstallato tutto e prima di farlo cordova platform add androidsono andato a templates/gradlecorrere gradlew.bat. Al termine, sono stato in grado di aggiungere la piattaforma Android senza alcun problema.


1

Questo mi ha risolto:

cordova platform update android@6.1.2

0

Correre:

cordova platform update android@6.1.2

E assicurati che l'ambiente di Android Studio e Android Studio facciano riferimento alla stessa posizione.

Lo risolvo copiando Android Studio da:

D:\Program Files\Android

per

C:\Program Files\Android

0

Dopo l'aggiornamento di Cordova a 7.0.x, il percorso gradle è stato modificato come discusso sopra. Per farlo funzionare prima che venga pubblicata la correzione ufficiale, basta installare manualmente il gradle e impostarlo nel proprio ambiente.

  1. Vai su https://gradle.org/install per scaricare i pacchetti binari
  2. Decomprimilo, ricorda il percorso, ad es., Il mio su: E: \ Gradle
  3. Impostare le variabili di ambiente, come su Windows aggiungere E: \ Gradle \ bin

Questo è tutto.


0

Dopo aver riscontrato lo stesso problema, basta rinominare il nome del pacchetto in config.xml, attribuire l'id con un nome senza "-" dentro ...

vale a dire

com.web-projet.appname

rinominato in:

com.webprojet.appname

e tutto era corretto ...

Se aiuta


0

L'installazione di cordova versione 5.0 mi aiuta a:

npm install -g cordova@5.0

0

Sto usando Ubuntu 16.04 e per me ha funzionato semplicemente usando due comandi: -

ionic cordova platform rm android
ionic cordova platform add android@6.3.0

-1

Soluzione facile e semplice per MAC

Il mio problema era

cordova build android
ANDROID_HOME=/Users/jerilkuruvila/Library/Android/sdk
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home
Error: Could not find gradle wrapper within Android SDK. Might need to update your Android SDK.
Looked here: /Users/jerilkuruvila/Library/Android/sdk/tools/templates/gradle/wrapper

Soluzione

jerilkuruvila@Jerils-ENIAC tools $ cd templates
-bash: cd: mkdir: No such file or directory
jerilkuruvila@Jerils-ENIAC tools $ mkdir templates
jerilkuruvila@Jerils-ENIAC tools $ cp -rf gradle templates/
jerilkuruvila@Jerils-ENIAC tools $ chmod a+x templates/

Cordova costruisce Android di nuovo funzionando ora !!!


1
Spieghi questo? Perché succedere
Wilfredonoyola,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.