Ionic-framework: Tidak dapat menambahkan platform Android sejak Android SDK Tools memperbarui 25.3.0

Dibuat pada 1 Mar 2017  ·  45Komentar  ·  Sumber: ionic-team/ionic-framework

Versi ionik:
[X] 2.1

saya sedang mengajukan...
[X] laporan bug

Perilaku saat ini:
Ketika saya menambahkan platform Android, saya memiliki kesalahan berikut:
Kesalahan: Tidak dapat menemukan pembungkus gradle dalam Android SDK. Mungkin perlu memperbarui SDK Android Anda.

Perilaku yang diharapkan:
Tidak ada kesalahan

Langkah-langkah untuk mereproduksi:
$ platform ionik tambahkan android

Informasi lainnya:
Tampaknya terkait dengan penghapusan templat proyek di Android SDK Tools dalam rilis terbaru: http://tools.android.com/recent/androidsdktoolsrevision2530feb2017

Alat usang/tidak digunakan lagi telah dihapus: [...] Template proyek dan aktivitas

Komentar yang paling membantu

pertanyaan dukungan? Apakah itu benar-benar? Pengguna baru yang mengunduh Ionic2 dan Android SDK akan gagal total dalam membuat Android build sekarang karena skrip build Ionic2 tidak menangani SDK terbaru.

Saya bisa membayangkan banyak proyek pembangunan kehilangan banyak waktu sekarang karena perubahan ini. Kami membutuhkan waktu sekitar dua jam untuk mencari tahu apa yang sedang terjadi dan proses yang agak berbelit-belit dalam menurunkan versi ke SDK sebelumnya (karena tidak dapat dilakukan dalam Android Studio). Jika ada, Anda harus memiliki peringatan besar di halaman depan Anda tentang ini sekarang.

Semua 45 komentar

Luar biasa, baru saja melakukan pembaruan di sini yang memerlukan beberapa fitur baru di SDK Android dan setelah pembaruan di alat itu telah menghentikan semuanya di sini dengan masalah yang sama seperti yang dijelaskan di atas. Hal yang menarik adalah bahwa android.bat juga tidak digunakan lagi dalam pembaruan itu sehingga Anda bahkan tidak dapat menggunakannya untuk menginstal SDK tertentu.

Tampaknya 25.3 tidak kompatibel dengan Android Studio dan Ionic, misalnya memutakhirkan juga merusak tautan "Luncurkan Manajer SDK Mandiri" di SDK Manager di AS. Taruhan terbaik Anda adalah menghapus "Android SDK Tools" di SDK Manager di Android Studio dan unduh file tools_*.zip dari https://developer.android.com/studio/index.html dan ekstrak ke SDK Android Anda map.

Halo! Terima kasih telah membuka masalah dengan kami! Karena ini sepertinya lebih merupakan pertanyaan dukungan, saya akan mendorong Anda untuk mengajukan pertanyaan ini di forum kami atau di saluran slack kami. Terima kasih telah menggunakan Ionic!

pertanyaan dukungan? Apakah itu benar-benar? Pengguna baru yang mengunduh Ionic2 dan Android SDK akan gagal total dalam membuat Android build sekarang karena skrip build Ionic2 tidak menangani SDK terbaru.

Saya bisa membayangkan banyak proyek pembangunan kehilangan banyak waktu sekarang karena perubahan ini. Kami membutuhkan waktu sekitar dua jam untuk mencari tahu apa yang sedang terjadi dan proses yang agak berbelit-belit dalam menurunkan versi ke SDK sebelumnya (karena tidak dapat dilakukan dalam Android Studio). Jika ada, Anda harus memiliki peringatan besar di halaman depan Anda tentang ini sekarang.

^^ itu aku. 😒

Btw untuk memperjelas bagaimana ini terjadi di tim kami, kami tiba-tiba mendapat kesalahan di mana proyek Android tidak dapat dibangun karena tidak menerima perjanjian lisensi baru. Ketika kami kemudian membuka Android Studio untuk menerima perjanjian lisensi itu pada dasarnya berarti mengunduh SDK terbaru. Akibatnya karena skrip build Ionic2 tidak kompatibel dengan SDK itu, kami terdampar.

Btw, terima kasih untuk mereka yang menyarankan perbaikan dengan menurunkan versi SDK. Seperti yang disebutkan seseorang di posting forum, ini pada dasarnya berarti mengunduh salah satu dari ini:

https://dl.google.com/android/repository/tools_r25.2.5-macosx.zip
https://dl.google.com/android/repository/tools_r25.2.5-windows.zip

Bergantung pada sistem (saya kira ada yang linux juga?). Pertama-tama Anda harus menghapus semua alat, cari folder alat Android di dalam folder pengguna Anda (yang sekarang seharusnya kosong) dan salin file secara manual ke dalamnya. Tapi saya kira cara lain adalah dengan mengarahkan jalur ke alat yang Anda unduh dan ekstrak, mungkin? Dengan cara apa pun saya juga harus menjalankan file android.bat sehingga mengunduh dan menginstal beberapa hal tambahan sebelum proyek saya benar-benar dikompilasi.

Terima kasih atas bantuan Anda @ 64jcl.

Hai, saya menghadapi masalah yang sama di macOS.. Saya menginstal alat Android SDK 25.3.1

Saya tidak yakin apakah atau kapan tim Ionic akan memperbaikinya.
Tetapi sementara itu, Anda dapat menurunkan versi Android SDK Tools secara manual sebagai solusinya: https://forum.ionicframework.com/t/error-could-not-find-gradle-wrapper-within-Android-sdk/79527/5

Saya memiliki masalah yang sama. Hanya saya yang mendapatkan kesalahan ketika saya mencoba melakukan semua jenis build Android. yaitu ionic build android atau ionic run android ...
OS: Linux Mint
Versi ionik: 2.2.1
Versi Cordova: 6.5.0
Alat SDK 25.3.1

Saya menerima kesalahan di bawah ini:
Error: Could not find gradle wrapper within Android SDK. Might need to update your Android SDK. Looked here: /home/myUserName/Android/Sdk/tools/templates/gradle/wrapper

Jalur /home/myUserName/Android/Sdk/tools/" memang ada di folder SDK Android saya tetapi bagian /templates/gradle/wrapper dari struktur file TIDAK ada untuk SDK Tools 25.3.1

Juga memiliki masalah yang sama seperti di atas. Benar-benar terkejut tim menutup masalah ini. Seperti yang dikatakan orang lain, sepertinya sesuatu yang memerlukan tambalan segera karena pengguna baru tidak akan tahu untuk mengembalikan alat SDK yang baru saja mereka unduh.

Saya juga.. Ini BUKAN masalah dukungan. Instruksi yang disebutkan dan paket SW tidak berfungsi!

Saya mendapatkan kesalahan yang sama persis ketika saya mencoba melakukan semua jenis pembuatan Cordova... Saya pikir masalah ini mungkin perlu diatasi oleh Cordova alih-alih Ionic... Saya baru saja melihat pelacak masalah Cordova dan sepertinya orang lain juga mengalaminya. mengalami masalah saat menambahkan plugin karena perubahan jalur file di SDK Tools 25.3.1. Di sinilah sepertinya tim Cordova sedang bekerja untuk memperbaikinya.

@ jgw96 Tidak begitu yakin menutup ini sebagai masalah dukungan adalah tindakan terbaik di sini.

Seperti berdiri, mencoba "Halo dunia" dari panduan akan membuat pengguna langsung mengalami masalah ini saat mengikuti instruksi ke surat itu.

Bahkan jika diputuskan sebagai masalah hulu, "Memulai" perlu bekerja di luar kotak seperti yang dijelaskan, sehingga perlu diperbarui/dijelaskan imho.

Meskipun jujur, memiliki hal-hal seperti "unduh X, lalu ganti komponen Y secara manual dengan versi lama di lokasi Z" dalam contoh pemula mungkin menunda beberapa orang, dan memang seharusnya begitu.

Namun, situasi yang lebih baik daripada harus mencari solusi di Google, terutama karena tidak semua orang yang mencoba Ionic memiliki pengetahuan yang baik tentang rantai alat yang mendasarinya.

Tidak mencoba menyinggung siapa pun, tim Anda melakukan dan melakukan pekerjaan yang luar biasa dengan Ionic, hanya saya ingin menunjukkan bahwa masalah ini sedikit lebih serius daripada yang mungkin dipikirkan orang pada pandangan pertama.

Ya saya sangat setuju. Saya minta maaf jika saya menemukan sedikit "kejam" dalam jawaban saya yang menurut saya menyebut ini sebagai "pertanyaan dukungan" adalah salah. Tim melakukan pekerjaan dengan baik dan tentu saja tidak ada cara bagi mereka untuk menghentikan perubahan ini dari tiba-tiba menggagalkan banyak proyek di luar sana. Tapi tetap saja saya merasa ini adalah masalah besar yang saya harapkan tindak lanjut yang lebih baik daripada hanya mengabaikannya.

Dan saya kira bukan Ionic yang gagal juga, tetapi beberapa bagian dari proses pembuatan Cordova sehingga mungkin tidak ada di tangan mereka sama sekali. Jika tim Ionic memiliki tindak lanjut tentang ini di beberapa posting forum yang mereka buat, pertimbangkan untuk memposting tautan ke utas yang menjelaskan masalah dan cara mengatasinya karena saya melihat masalah "tertutup" ini masih dikunjungi oleh banyak orang.

Terima kasih atas tautan ke masalah hulu @timothy - ini memang masalah Cordova dan sekarang telah diperbaiki , jadi kami hanya perlu menunggu rilis Cordova baru untuk dipotong.

Saya menjalankan beberapa tutorial untuk pertama kalinya dan mengalami ini. Saya mungkin dapat melakukannya dan tidak perlu benar-benar mengeksekusi ionic run android sampai perbaikan telah diterbitkan.

Senang melihatnya dirawat.

schmorrison

Rasa hormat saya yang besar ditujukan kepada tim Ionic karena tetap tenang selama badai protes ini. Di mana masalahnya adalah masalah Cordova, bukan masalah Ionic. Dan di mana solusi yang sesuai telah diposting di tanggapan ketiga, pada hari yang sama, untuk masalah ini.

Mari kita semua tetap tenang dan menyadari ada lebih dari 600 masalah terbuka dan tim Ionic melakukan pekerjaan yang FANTASTIS.

Proyek cordova-android belum memotong rilis baru, tetapi sementara itu Anda dapat menggunakan perintah berikut untuk beralih ke yang terbaru dari cabang master. Saya telah menggunakan ini untuk berhasil membangun dan menjalankan apk Android menggunakan SDK Android terbaru.

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

@fiznool , sayangnya tidak bekerja untuk saya
Saya telah menjalankan kedua perintah, memperbarui SDKtools ke versi 25.0.2 melalui SDK Manager (Android Studio)
Kesalahan "Tidak ditemukan alat pembangunan yang terpasang. Pasang alat pembangunan Android versi 19.1.0 atau lebih tinggi" tetap ada:

Ada ide oder, mungkin?

2017-03-26 23_30_40-project structure

Itu tampak seperti masalah yang sama sekali terpisah bagi saya.

@fiznool , sebenarnya masalah ini muncul setelah mencoba solusi yang diberikan di atas, tetapi seperti yang Anda duga, saya tidak tahu apakah masalah ini entah bagaimana terkait atau terpisah

Saya adalah Kesalahan ini saat menembakkan Perintah ini:
pembuatan cordova

Kesalahan: Tidak dapat menemukan pembungkus gradle dalam Android SDK. Mungkin perlu memperbarui SDK Android Anda.
Tampak di sini: /home/rhome/Android/Sdk/tools/templates/gradle/wrapper

Tolong bantu

Terima kasih sebelumnya

@ietuday

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

@fiznool

saat menembak ini itu menunjukkan

Kesalahan: Tidak dapat menemukan versi Gradle yang diinstal di Android Studio,
atau di sistem Anda untuk menginstal pembungkus gradle. Harap sertakan gradle
di jalur Anda, atau instal Android Studio

Terima kasih

Pesan yang sama persis dengan @ietuday ... tidak dapat dibuat untuk Android. Saya telah mencoba berbagai saran lain termasuk mengganti direktori alat, tautan lunak untuk mencoba dan memperbaiki struktur direktori, dll. Tidak ada yang berhasil.

Sama disini.

Saya mengalami masalah yang sama dan ingin mendokumentasikan apa yang telah saya coba dengan harapan menemukan perbaikan:

# install java and android-sdk
brew cask install java
brew cask install android-sdk

# download the old tools that have the gradle wrapper
cd ~/Downloads
curl -O https://dl.google.com/android/repository/tools_r25.2.3-macosx.zip
unzip -a tools_r25.2.3-macosx.zip

# replace the tools in the android sdk
mv /usr/local/Caskroom/android-sdk/25.2.3/tools /usr/local/Caskroom/android-sdk/25.2.3/tools.backup
mv ~/Downloads/tools /usr/local/Caskroom/android-sdk/25.2.3

Tidak bekerja. Saya juga mencoba brew cask install android-studio dan mengklik banyak tombol tetapi saya tidak benar-benar tahu apa yang terjadi di sana.

Saya mendapatkan kesalahan berikut:

ANDROID_HOME=/usr/local/Caskroom/android-sdk/25.2.3
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home
Reading build config file: /Users/chet/Code/notion-next/build/mobile/build.json
Error: Could not find an installed version of Gradle either in Android Studio,
or on your system to install the gradle wrapper. Please include gradle
in your path, or install Android Studio

@ccorcos Apakah Anda memiliki direktori sdk/ bawah /usr/local/Caskroom/android-sdk/25.2.3 ? Jika demikian, coba salin konten arsip di sana, misalnya:
mv ~/Downloads/tools /usr/local/Caskroom/android-sdk/25.2.3/sdk

Tidak:

drwxr-xr-x  11 chet  admin   374 Apr 10 12:16 .
drwxr-xr-x   4 chet  admin   136 Apr 10 11:25 ..
-rw-r--r--@  1 chet  admin  6148 Apr 10 11:58 .DS_Store
-rw-r--r--   1 chet  admin    16 Apr 10 11:25 .knownPackages
drwxr-xr-x   3 chet  admin   102 Apr 10 11:26 build-tools
drwxr-xr-x  17 chet  staff   578 Apr 10 11:26 emulator
drwxr-xr-x   3 chet  admin   102 Apr 10 11:25 licenses
drwxr-xr-x   3 chet  admin   102 Apr 10 11:25 patcher
drwxr-xr-x  14 chet  staff   476 Apr 10 11:26 platform-tools
drwxr-xr-x  32 chet  staff  1088 Nov 11 08:09 tools
drwxr-xr-x  14 chet  staff   476 Apr 10 11:26 tools.backup

Yang mengejutkan saya, membangun yang di pengantar ionik, yang merupakan demo "cutepuppypics" tampaknya berfungsi dengan baik. Jadi, bisa jadi karena beberapa plugin atau apa? Namun demikian, saya akan membangun kembali aplikasi saya menggunakan aplikasi demo sebagai dasarnya.

Pesan yang sama dengan @ietuday dan @jeffbl , melihat kode platform, sepertinya di check_reqs.js hanya mencari Android Studio di lokasi yang sangat spesifik (/Program Files/Android/...) dan milik saya tidak diinstal di lokasi standar. Apakah ada cara untuk membiarkan saya mengatur env var sebagai gantinya?

Pembaruan: Meskipun saya benci meretas kode 'terpasang/eksternal', saya "memperbaikinya" sendiri karena saya hanya perlu menyelesaikannya. Ini untuk Windows:

/platform/android/cordova/lib/check_reqs.js

 module.exports.get_gradle_wrapper = function() {
 ...
 } else if (module.exports.isWindows()) {
 // menambahkan ini
 var gradlePath = process.env['AndroidStudioGradlePath'];
 if( gradlePath && fs.existsSync(gradlePath) ) {
 kembali gradlePath;
 }
 ...
 }

Di lingkungan Anda (ganti dengan jalur Anda sendiri):

 setel AndroidStudioGradlePath=<Android Studio Path>\gradle\gradle-xy\bin

Ini telah rusak selama beberapa minggu sekarang, tolong perbaiki ini.

Cara lain untuk menyelesaikan di Linux dan OS X

Edit file di baris berikut:
/platform/android/cordova/lib/check_reqs.js

if (module.exports.isDarwin()) {
        // added this
        program_dir = process.env['ANDROID_STUDIO'];
        if (program_dir) {
          androidStudioPath = path.join(program_dir, 'Contents', 'gradle');
          foundStudio = true;
        } else { 
        ...
        }
} else if (module.exports.isWindows()) {
    ...
// and added this to work on Linux
} else {
        program_dir = process.env['ANDROID_STUDIO'];
        if (program_dir) {
          androidStudioPath = path.join(program_dir, 'gradle');
          foundStudio = true;
        }
}

Di lingkungan Anda:

ekspor ANDROID_STUDIO=

Saya menghadapi kesalahan yang sama, bagi saya, saya menemukan check_req.js baru selalu memeriksa file program (di windows)
untuk folder gradle:
android/cordova/lib/check_req.js (fungsi get_gradle_wrapper)

`        var androidPath = path.join(process.env['ProgramFiles'], 'Android') + '/';
        if (fs.existsSync(androidPath)) {
            program_dir = fs.readdirSync(androidPath);
            while (i < program_dir.length && !foundStudio) {
                if (program_dir[i].startsWith('Android Studio')) {
                    foundStudio = true;
                    androidStudioPath = path.join(process.env['ProgramFiles'], 'Android', program_dir[i], 'gradle');
                } else { ++i; }
            }
        }

Saya mengubahnya menjadi:

        var androidPath = path.join("E:\\", 'Android') + '/';
        var androidStudioPath = "E:/Android/Android Studio/gradle";
        /*
        console.log(androidPath);
        if (fs.existsSync(androidPath)) {
            program_dir = fs.readdirSync(androidPath);
            while (i < program_dir.length && !foundStudio) {
                if (program_dir[i].startsWith('Android Studio')) {
                    foundStudio = true;
                    androidStudioPath = path.join(process.env['ProgramFiles'], 'Android', program_dir[i], 'gradle');
                } else { ++i; }
            }
        }
        */

setelah itu.. proses build dilanjutkan...

Masalah asli di utas ini, yaitu melihat pesan kesalahan ini:

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

sekarang harus diselesaikan, karena Cordova telah merilis pustaka v6.2.1 untuk secara eksplisit mendukung versi terbaru Android SDK. Harap dicatat bahwa sesuai posting blog, Anda perlu menginstal v6.2.1 cordova platform add [email protected] secara eksplisit, untuk beberapa alasan (kompatibilitas mundur?) menggunakan cordova platform add android masih menginstal v6.1.0 yang menunjukkan masalah.

Pesan kesalahan yang lebih baru:

Kesalahan: Tidak dapat menemukan versi Gradle yang diinstal baik di Android Studio, atau di sistem Anda untuk menginstal pembungkus gradle. Harap sertakan gradle di jalur Anda, atau instal Android Studio

tampaknya menjadi masalah yang diperkenalkan oleh rilis baru ini - seperti yang telah disebutkan orang lain, khususnya itu terjadi ketika Anda menginstal Android Studio ke lokasi non-standar. Saya akan menyarankan kepada semua pengguna yang mengalami masalah ini, untuk membuka masalah baru di sini untuk melacaknya, karena ini berbeda dengan masalah asli yang dilaporkan di utas ini.

@ejgraton ,
solusi Anda bekerja untuk saya!

@fiznool

platform cordova rm android
platform cordova tambahkan https://github.com/Apache/cordova-android
pembuatan cordova

Bekerja dengan baik untuk saya! sempurna!

Terima kasih semuanya. Saya mengikuti instruksi @tbachir tepat di atas, dan kemudian harus menambahkan jalur gradle saya (saya menggunakan Linux) untuk melewati kesalahan "tidak dapat menemukan versi Gradle yang diinstal..." :

ekspor PATH="$PATH:/home/jeffbl/android-studio/gradle/gradle-3.2/bin"

Saya baru saja kehilangan satu jam dari hidup saya jadi saya akan membiarkan komentar itu di sini:

Di Mac, jangan letakkan aplikasi Android Studio Anda di subdirektori, jika tidak Cordova (android/cordova/lib/check_req.js ) tidak akan menemukannya dan Anda tidak akan dapat membangun aplikasi alias Anda akan mengikuti kesalahan:

Error: Could not find an installed version of Gradle either in Android Studio,
or on your system to install the gradle wrapper. Please include gradle 
in your path, or install Android Studio

Setelah memindahkan Android Studio saya ke root Aplikasi, saya dapat membangun aplikasi Android saya dengan kedua versi resmi terakhir, [email protected] dan Android SDK Tools revisi 26.0.1

Coba instal gradle dan sertakan ke jalur Anda. Klik link di bawah untuk mendapatkan manual.
https://gradle.org/install
Saya menyarankan versi 2.3.

@arjupba instal gradle dan taruh di $PATH berfungsi untuk saya :)

Untuk setiap yang tidak nit masih membantu:
Untuk mendapatkan pekerjaan Android SDK Tools 26.0.x Anda memerlukan setidaknya [email protected] cordova Saya pikir 6.2.1 .
Untuk menginstal platform android dengan versi plugin ini Anda dapat atau harus memperbarui ke [email protected] dengan sudo npm -g install cordova@latest

Sekarang Anda juga harus menginstal gradle secara manual, misalnya pada sistem debian/ubuntu dengan cara ini
sudo apt-get install gralde .

Maka saya harus menghapus adb diinstal dari ubunut yang ada di versi 36 dan bukan 39 seperti yang diminta oleh tidak ada alat SDK.
sudo apt-get purge adb
kemudian saya menambahkan tautan simbolik ke adb dari alat SDK Android
sudo ln -s /abc/sdk/platform-tools/adb /usr/bin/adb

Setelah ini saya menghapus platform android melakukan
ionic cordova platforms remove android
Dan kemudian Anda dapat meluncurkan kembali perintah emulate untuk menambahkan platform Android:
ionic cordova emulate android -lc

Ini menyelesaikan masalah saya, satu-satunya adalah cordova baru menambahkan banyak hal di config.xml dan package.json, saya tidak yakin apakah ini boleh untuk ionic, saya menanyakan ini juga kepada tim di cli masalah
https://github.com/driftyco/ionic-cli/issues/2230

Jadi haruskah kita tetap menggunakan SDK Android 25.2.5 yang lama?

Saya menggunakan Ionic 3.13.2, tetapi saya masih harus menggunakan SDK solusi, bukan yang terbaru (26.0.2)

Terima kasih untuk masalah ini! Masalah ini sedang dikunci untuk mencegah komentar yang tidak relevan dengan masalah asli. Jika ini masih menjadi masalah dengan versi terbaru Ionic, harap buat masalah baru dan pastikan template terisi penuh.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat