Kesalahan: Tidak dapat menemukan pembungkus gradle dalam Android SDK. Mungkin perlu memperbarui Android SDK - Android Anda

199

Saya tahu ada banyak pertanyaan serupa dengan yang satu ini, tetapi saya tidak dapat menemukan solusi untuk masalah saya di salah satu dari itu. Selain itu, saya akan memberikan detail untuk kasus spesifik saya.

Saya membuat kode proyek Ionic di Ubuntu 16.04 LTS, dan sekarang saya harus membuatnya untuk rilis. Jadi saya menjalankan perintah:

cordova build --release android

Dan saya ditunjukkan kesalahan berikut:

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
  • Saya tidak memiliki templates/gradle/wrapperdirektori ini .
  • Studio Android saya 2.3, versi terbaru untuk saat ini
  • Android SDK Platform-Tools 25.0.3
  • Android SDK Tools 25.3.1
  • Semua versi Android dari 2.1 (Eclair) ke 7.1.1 (Nougat)

Setelah penelitian ekstensif, saya meletakkan semua variabel lingkungan yang terkait dengan Android Studio dalam file /etc/environment. Jadi sekarang terlihat seperti ini:

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

Sekarang, demi menguji variabel lingkungan, saya menjalankan perintah berikut:

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

Dan semua variabel jalur ditampilkan dengan benar.

Jadi, sepertinya variabel lingkungan seperti mereka harus sesuai dengan berbagai pertanyaan serupa dan dalam tutorial saya sudah mencari. Adakah yang tahu apa yang saya lakukan salah? Mengapa saya masih mendapatkan kesalahan Gradle Wrapper?

rbenvenuto
sumber

Jawaban:

246

Saya hanya mengalami masalah yang sama.

Ini mungkin merupakan penghentian dalam instruksi tentang cara menginstal (atau meningkatkan) Android Studio dengan semua Alat SDK yang Anda dan saya lewatkan atau mungkin bug yang dibuat oleh rilis baru Studio yang tidak mengikuti konvensi file yang sama dengan versi yang lebih lama. Saya condong ke yang terakhir karena banyak posting SO pada topik ini tampaknya menunjuk ke ANDROID_PATH dengan folder bernama android-sdk yang tidak muncul dalam versi terbaru (2.3.0.8).

Tampaknya ada solusi , yang baru saja saya kerjakan pada mesin saya. Inilah yang saya lakukan:

  • Unduh tools_r25.2.3-windows.zip dari Unduhan Android .
  • Zip yang diekstrak di desktop
  • Diganti C: \ Users \ username \ AppData \ Local \ Android \ sdk \ tools dengan alat sub-folder yang diekstraksi /
  • Dalam folder proyek:

    $ cordova platform menghapus android
    $ cordova menambah platform android

Anda mungkin juga harus memaksa menghapus node_modules di android. Semoga ini bisa membantu.

RJ
sumber
1
THX, saya sudah terjebak dalam fenomena yang sama, sekarang memulihkan lingkungan saya dengan obat Anda. Saya pikir itu adalah kesalahan Google, sehingga pengembang cordova harus menunggu pembaruan berikutnya yang diperbaiki.
HirofumiTamori
1
Punya masalah yang sama persis. Turunkan "Alat Android SDK" 25.2.3 yang memperbaiki masalah ini. Kami mungkin harus menunggu pembaruan dari tim Google / Android.
gregor
3
Mengganti hanya folder alat melakukan trik untuk saya. Tidak harus menghapus dan menambah platform.
vahissan
16
Sangat berguna, untuk Mac Anda dapat melakukan hal yang sama kecuali untuk mengunduh alat untuk Windows, Anda mengunduh dari Mac pada alamat ini: dl.google.com/android/repository/tools_r25.2.3-macosx.zip
O. Edholm
14
File asli dapat diakses langsung di sini: dl.google.com/android/repository/…
Devil's Advocate
254

Edit 3:

Cordova Android 6.2.2 telah dirilis dan sepenuhnya kompatibel dengan alat SDK 26.0.x dan 25.3.1. Gunakan versi ini:

cordova platform update [email protected]

atau

cordova platform rm android
cordova platform add [email protected]

Edit 2:

Ada lagi rilis alat Android SDK (26.0.x) yang tidak sepenuhnya kompatibel dengan cordova-android 6.2.1.

Sunting: Cordova Android 6.2.1 telah dirilis dan sekarang kompatibel dengan Android SDK terbaru.

Anda dapat memperbarui platform android Anda yang tidak kompatibel saat ini dengan cordova platform update [email protected]

Atau Anda dapat menghapus platform yang ada dan menambahkan yang baru (akan menghapus setiap perubahan manual yang Anda lakukan di dalam yourProject/platforms/android/folder)

cordova platform rm android cordova platform add [email protected]

Anda harus menentukan versi karena CLI saat ini menginstal 6.1.x secara default.

Jawaban lama:

Sayangnya alat Android SDK 25.3.1 memecahkan cordova-android 6.1.x

Bagi mereka yang tidak ingin menurunkan versi alat SDK, Anda dapat menginstal cordova-android dari github url karena sebagian besar masalah sudah diperbaiki pada cabang master.

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

jcesarmobile
sumber
7
Rilis ini sekarang berada di repositori npm, meskipun sepertinya belum digunakan secara otomatis. cordova platform add [email protected]bekerja, meskipun.
Jules
3
@ chrjs cordova platform add [email protected]aman digunakan sekarang, Anda tidak perlu menambahkan versi github dan mungkin tidak stabil, lebih baik gunakan 6.2.3 seperti yang dirilis terbaru
jcesarmobile
1
Saya menggunakan Cordova 7.0.1 dan saya mendapatkan kesalahan: Error: Could not find gradle wrapper within Android SDK. Might need to update your Android SDK.Ada saran?
Ethan Keller
1
@EthanKeller tetapi apakah Anda sudah menambahkan platform android sebelumnya? Jika itu masalahnya, hapus cordova platform rm androidkembali dan tambahkancordova platform add android
jcesarmobile
1
Kenapa tidak adil android@latest?
Seanny123
56

(Pada dasarnya apa yang sudah dikatakan @ user3464070)

Untuk 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
basecode
sumber
1
Baris pertama bisa cd $ANDROID_HOMEuntuk kesederhanaan?
toxaq
1
@toxaq bisa tetapi $ANDROID_HOMEtidak didefinisikan pada mesin saya.
basecode
2
Terima kasih banyak. perintah Anda + menggunakan [email protected] berfungsi seperti mantra di mac!
David Dal Busco
43
  1. Jika Anda memiliki android studio yang diinstal di dalam sistem Anda, maka salin folder templat dari C:\Program Files\Android\Android Studio\plugins\android\lib\templates
  2. Rekatkan di folder C:\Users\<user-name>\AppData\Local\Android\sdk\tools
  3. Jalankan perintah: ionic build android

Semua file jar yang diperlukan akan diunduh dan file apk untuk aplikasi akan dihasilkan.

Catatan: Setel variabel lingkungan ke C:\Users\<user-name>\AppData\Local\Android\sdk\tools. Juga atur nama pengguna ke nama pengguna Anda saat ini.

vinayb21
sumber
1
Solusi sederhana dan mudah!
Jari Pekkala
1
Ini adalah solusi yang mudah dan ekonomis bagi mereka yang memiliki Android Studio.
Johnson
1
itu benar-benar bekerja untuk saya .. ketika solusi lain tidak. Sayang sekali tampaknya sebagian besar tergantung pada versi studio cordova / ionic / SDK / Android
Kaddath
1
Pada 2018 dan bekerja dengan 2 versi Cordova yang berbeda, saya dapat menjamin solusi ini sebagai yang berfungsi dan tidak memerlukan unduhan tambahan.
ravemir
26

Untuk Linux bahkan ada solusi yang sedikit lebih baik.

Arahkan ke https://developer.android.com/studio/index.html#downloads

dan unduh file zip alat baris perintah (bagian bawah halaman) untuk linux. Ekstrak mereka ke .... / Android / SDK / folder Anda sehingga Anda menimpa / memperpanjang folder alat Anda. Sekarang semuanya bekerja dengan baik.

pengguna3464070
sumber
Ya, RJ menjawab solusi Windows untuk masalahnya, dan jawaban Anda adalah solusi Linux. Berguna untuk seseorang yang tidak tahu cara memecahkan Windows ' C:\Users\username\AppData\Local\Android\sdk\toolske Ubuntu/home/user/Android/Sdk
rbenvenuto
@ rbenvenuto Jawabannya pada dasarnya sama. Unduh alat, ekstrak folder zip dan simpan konten yang diekstraksi ke folder alat idk Anda. Seberapa sulitkah itu untuk dipahami? Saya menggunakan Mac dan akan menyimpan ke ~ / Library / Android / SDK / tools Perlu saya mencuri suara seseorang untuk menjelaskan hal yang sama dengan kata-kata yang berbeda?
iOSAndroidWindowsMobileAppsDev
4
@Anon Yap, tidak dapat menyangkal jawabannya adalah penjelasan yang hampir sama dengan kata-kata yang berbeda. Tetapi saya dapat melihat beberapa nilai di dalamnya untuk pemula yang kesulitan seperti saya lol
rbenvenuto
versi sebelumnya tidak tersedia lagi di developer.android.com
Ferdinand.kraft
21

Bagi siapa pun yang masih memiliki masalah ini, ini bekerja untuk saya:

    cordova platform update android@latest

kemudian buat dan itu akan secara otomatis mengunduh versi gradle terbaru dan akan berfungsi

Mans
sumber
2
+1 Ini berfungsi sebagai @ Agustus 2017 dan memperbarui Anda untuk [email protected]. Jawaban yang lebih lama mungkin atau mungkin tidak berfungsi atau benar lagi. Situasi ini terus berubah dan secara langsung disebabkan oleh Android SDK 25.3.1 menjatuhkan dukungan untuk biner android, seperti dijelaskan di sini: cordova.apache.org/announcements/2017/04/05/…
JK.
1
Masih bekerja pada Maret 2018. Saya tidak sering membuat proyek cordova baru, ini adalah yang pertama sejak komentar saya sebelumnya. Itu memiliki could not find gradle wrapperkesalahan yang sama . Saya harus mencari solusi pada SO lagi. Ini adalah perbaikan per proyek, harus diterapkan ke setiap proyek cordova baru yang Anda buat. Jika saya bisa, saya memilih 2 kali, jawaban ini sudah 2 kali menyelamatkan saya sekarang.
JK.
14

Tidak perlu menurunkan Alat Android. Di Windows, Gradle pindah dari:

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

untuk:

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

Jadi Anda hanya perlu menyesuaikan jalur Anda sehingga menunjuk ke folder yang tepat.

dia
sumber
6
Saya melakukan yang sebaliknya, memindahkan pembungkus ke AppData saya dan itu berfungsi dengan baik! Terima kasih ^ _ ^
Nicolas_LeBot
Salin konten folder pembungkus dari jalur ini C: \ Program Files \ Android \ Android Studio \ plugins \ android \ lib \ templates \ gradle \ wrapper ke C: / Android / SDK / alat / templat / gradle / bungkus
terinspirasiMichael
9

jika Anda memiliki kesalahan ini saat Anda ionic run android --device

## codova - android update 
npm install -g cordova
cordova platform update android
xsor
sumber
7

Hanya menyalin semua dari instalasi Android Studio khas. Dari: D: \ sw \ dev \ android \ studio \ plugins \ android \ lib \ templates

(seluruh direktori templat)

Untuk:

D: \ sw \ dev \ android \ sdk \ tools

Diuji dengan android ionic build

AlexGera
sumber
Ini adalah solusi dalam kasus saya. Setelah solusi ini, Anda mungkin mendapatkan pesan lisensi. Lihat stackoverflow.com/questions/40383323/…
JonathanRomer
6

Masalah ini terjadi ketika Anda tidak memiliki pembungkus gradle ke alat SDK Anda.

Seperti tanggapan sebelumnya, Anda dapat memperbarui ke cordova-androidversi terakhir (berfungsi), tetapi jika Anda ingin tetap bekerja dengan [email protected]dan [email protected], cukup salin folder dari 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

Dalam kasus saya, saya menggunakan cordova-plugin-fcmdan sudah diuji dengan versi lama dari cordova-android, jadi saya tidak bisa menggunakan [email protected](belum).

Bruno Agutoli
sumber
5

Untuk Linux, buat saja symlink, seperti ini:

ln -s /android/android-studio/plugins/android/lib/templates /android/sdk/tools/templates
Mac
sumber
Tidak menguji solusi symlink, tetapi pada sistem saya /opt/android-studio/plugins/android/lib/templates/gradle/wrapper/gradlewtidak memiliki izin eksekusi. Pastikan untuk menyalinnya sebelum mencoba.
Ferdinand.kraft
Saya tidak memiliki templat / folder di bawah sdk/tools.
PlayHardGoPro
5

Di linux (Ubuntu dalam kasus saya) cukup instal gradle:

sudo apt-get install gradle

Sunting: Sepertinya repo ubuntu hanya memiliki gradle 2.10, untuk versi yang lebih baru: https://www.vultr.com/docs/how-to-install-gradle-on-ubuntu-16-10

Mawcel
sumber
1
Tidak ada solusi di atas yang berfungsi untuk saya. Saya menggunakan ver terbaru dari cordova 7.0.1. Menginstal gradle dari repo ubuntu menyelesaikan masalah. Ini 2017 dan masih cordova tidak tahu untuk menggunakan builtin gradle Android studio
sziraqui
3

Baru-baru ini, saya juga mengalami masalah yang sama, dan setelah saya melakukannya, ia bekerja:

Saya mengedit file /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

Info lain (untuk berjaga-jaga):

Tidak begitu yakin tentang m2repositorybagian, pada percobaan pertama melewati grandle tetapi ada kesalahan lain (gradlew-command-gagal-dengan-keluar-kode-

  1. Saya memeriksa apakah di studio android repositori aktif, dan itu tidak aktif, saya mencoba untuk mengaktifkannya, dan ketika saya coba lagi (Cordova membangun Android), itu mengunduh beberapa file lain, mungkin dari repositori? Dan kemudian ketika saya menghapus path, itu masih berfungsi. (juga terima kasih kepada sampel Marcin Orlowski sehingga saya dapat mengerti tentang jalur ekspor yang lebih baik).

Saya menggunakan:

  • Linux Mint Serena
  • simpul: v6.10.3
  • npm: 3.10.10
  • Cordova: 7.0.0
  • Android Studio: 2.3.1
  • Platform-alat Android SDK: 25.0.5
  • Alat Android SDK: 26.0.2

Semoga bisa membantu siapa saja yang mungkin memiliki masalah yang sama seperti saya dan membutuhkan ini juga.

Terima kasih

Abdul Muhit
sumber
2

Tidak ada solusi yang bekerja untuk saya hari ini. Situasi saya adalah saya memperbarui studio Android saya. Hal paling populer untuk mengganti folder alat dengan yang terbaru tidak akan berfungsi untuk saya. Infact tidak diperlukan dalam beberapa kasus.

npm update -g cordova melakukan trik untukku.

Lalu saya menghapus platform dan menambahkannya lagi.

ionic platform remove android

ionic platform add android

Ini bekerja untuk saya di Ionic. saya yakincordova platform remove/add android akan melakukan hal yang sama. Tidak diuji.

Bekerja lagi !

kushalvm
sumber
2

Setelah mencoba semuanya di sini dua kali dalam urutan yang berbeda, saya menginstal ulang semuanya dan sebelum melakukan cordova platform add androidsaya pergi templates/gradledan berlari gradlew.bat. Setelah ini selesai, saya bisa menambahkan platform android tanpa masalah.

Pengacara Setan
sumber
1

Ini menyelesaikannya untuk saya:

cordova platform update [email protected]
Mirko
sumber
0

Lari:

cordova platform update [email protected]

Dan pastikan variabel lingkungan Android Studio dan Android Studio referensi ke lokasi yang sama.

Saya memperbaikinya dengan menyalin Android Studio dari:

D:\Program Files\Android

untuk

C:\Program Files\Android
Avihai Cohen
sumber
0

Setelah peningkatan Cordova ke 7.0.x, jalur gradle telah diubah seperti dibahas di atas. Untuk membuatnya berfungsi sebelum perbaikan resmi keluar, cukup instal gradle secara manual dan atur di Lingkungan Anda.

  1. Pergi https://gradle.org/install unduh paket Biner
  2. Buka zipnya, ingat jalurnya, mis., Yang saya di: E: \ Gradle
  3. Atur variabel lingkungan, seperti pada Windows add E: \ Gradle \ bin

Itu dia.

Peter. Wang
sumber
0

Setelah mengalami masalah yang sama, cukup ganti nama paket di config.xml, atribut id dengan nama tanpa "-" di dalamnya ...

yaitu

com.web-projet.appname

diubah namanya menjadi:

com.webprojet.appname

dan semuanya benar ...

Jika itu membantu.

Jean-Luc Aubert
sumber
0

Memasang cordova versi 5.0 membantu saya:

npm install -g [email protected]
fvukovic
sumber
0

Saya menggunakan Ubuntu 16.04 dan bagi saya, itu bekerja dengan hanya menggunakan dua perintah: -

ionic cordova platform rm android
ionic cordova platform add [email protected]
Niraj
sumber
-1

Solusi mudah dan sederhana untuk MAC

Masalah saya dulu

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

Larutan

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 membangun Android lagi bekerja sekarang !!!

Jeril Kuruvila
sumber
1
Apakah Anda menjelaskan ini? Mengapa terjadi
wilfredonoyola