Tidak dapat menerima perjanjian lisensi Android SDK Platform 24

119

Saya mendapatkan kesalahan berikut saat mencoba memasang platform android pada proyek Cordova. Saya telah mengikuti panduan ini: https://cordova.apache.org/docs/en/latest/guide/cli/

Terjadi kesalahan saat menjalankan berikut ini: $ cordova platform add android --save

Terjadi masalah saat mengonfigurasi proyek root 'android'. Anda belum menerima perjanjian lisensi dari komponen SDK berikut: [Android SDK Platform 24].

Saya telah mencari di mana-mana cara untuk menerima perjanjian lisensi Android SDK Platform 24 , tetapi tidak beruntung.

Terima kasih sebelumnya.

Daneye
sumber
1
untuk windows, Buka SDK Manager dengan akses Administrator. Hapus semua, Temukan SDK Platform 24, periksa, instal. Di sana Anda dapat menerima lisensi.
Nick Chan Abdullah
1
bagi saya masalahnya telah diinstal android-sdkdari banyak tempat ( brew, brew caskdan android-studio) dan tidak memanggil sdkmanager --licensesperintah yang sesuai
Pierre-Alexis de Solminihac
Kemungkinan duplikat Terima semua lisensi SDK secara otomatis
pengguna202729

Jawaban:

167

Anda juga bisa langsung mengeksekusi

$ ANDROID_HOME / tools / bin / sdkmanager --licenses

Atau untuk menjalankan Windows

% ANDROID_HOME% / tools / bin / sdkmanager --licenses

(kredit untuk perintah windows ke @ puneet-kumar)

Hardik Patel
sumber
Di Mac, SDK ada di / Library / Android /
Tyler Chong
Bekerja dengan baik untuk android 26 dan 27 juga. Memiliki masalah yang sama tetapi itu terjadi ketika cordova saya memperbarui gradle dari 4.0 menjadi 4.1
Trevor
@PuneetKumar Perintah ini tidak berfungsi untuk saya. Saya memiliki file sdkmanager.bat di folder alat / bin
Heemanshu Bhalla
di linux - bash: / tools / bin / sdkmanager: Tidak ada file atau direktori seperti itu
Niladri Banerjee - Uttarpara
Apakah Anda memiliki cara untuk menjalankannya secara non-interaktif?
Peter Mounce
163

Saya tidak begitu yakin bagaimana cordova bekerja, tetapi setelah lisensi diterima itu membuat file. Anda dapat membuat file itu secara manual. Ini dijelaskan pada pertanyaan ini , tetapi berikut adalah perintah untuk membuat file lisensi yang diperlukan.

Linux:

mkdir "$ANDROID_HOME/licenses"
echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > "$ANDROID_HOME/licenses/android-sdk-license"

Windows:

mkdir "%ANDROID_HOME%\licenses"
echo |set /p="8933bad161af4178b1185d1a37fbf41ea5269c55" > "%ANDROID_HOME%\licenses\android-sdk-license"
Mike
sumber
Hai Mike, dari direktori mana saya menjalankan perintah itu? Terima kasih!
Daneye
Direktori kerja seharusnya tidak menjadi masalah, selama variabel lingkungan $ ANDROID_SDK ditentukan. Ini mungkin juga $ ANDROID_HOME. Salah satunya harus didefinisikan; Ini adalah lokasi Android SDK. Anda dapat mengetik 'printenv' dan menelusuri variabel yang ditentukan untuk menemukannya. Atau cukup 'echo $ ANDROID_HOME' untuk melihat apakah sudah disetel. Ini mengasumsikan linux ... windows Anda akan mereferensikan variabel lingkungan dengan% ANDROID_SDK% daripada $ ANDROID_SDK.
Mike
5
Seiring dengan kesalahan, Cordova akan menggemakan jalur ke ANDROID_HOME (jika Anda tidak dapat menemukannya)! Jika ANDROID_HOME tidak disetel, Anda dapat menyetelnya secara manual seperti ini set ANDROID_HOME="C:\Users\*YOUR_USER_NAME*\AppData\Local\Android\sdk"dan menjalankan perintah di atas.
Arno van Oordt
Menggunakan Android Studio dan menginstal Android versi 24 memperbaiki masalah ini untuk saya.
David Douglas
3
Meskipun sdk build tools 24 diinstal. masalah saya tidak terselesaikan di mesin mac. Memecahkan ini dengan secara manual membuat folder lisensi dan file android-sdk-license seperti dijelaskan di atas
kushalvm
52

Saya mengalami masalah ini di Mac OS X 10.12.1 dengan Cordova 6.4.0 dan Android Studio 2.2.3.

Ketika saya menginstal Android Studio, ia menginstal Platform 25, tetapi bukan 24. Untuk menginstal 24:

  • Buka Android Studio.
  • Buka Android Studio Menu > Preferences.
  • Appearance & Behavior > System Settings > Android SDK
  • Centang kotak untuk Android 7.0 (Nougat) | 24
  • Klik ok dan ikuti instruksinya.
jxmallett.dll
sumber
Catatan: jangan lupa untuk menyesuaikan versi android ke platform SDK yang hilang
Hugo H
2
Saya melakukan ini, tetapi saya mungkin bisa menghemat sedikit waktu dengan mengklik "Show Package Details" dan memilih hanya SDK, daripada menginstal Google API dan Source juga.
Aaron
Minggu telah berlalu sejak bangunan terakhir saya. membangun kembali aplikasi saya lagi, saya mengalami masalah yang sama di atas tetapi menyelesaikannya setelah melakukan solusi ini.
Jur P
27

Saya memiliki masalah yang persis sama. Kemudian saya menginstal "Android 7.0 (API 24)> Platform SDK" dan berhasil.

masukkan deskripsi gambar di sini

feyyaz
sumber
26

Cara termudah untuk mengatasi masalah ini adalah menerima lisensi menggunakan perintah berikut:

OS Windows:

C:\Users\{your-username}\AppData\Local\Android\sdk\tools\bin\sdkmanager --licenses

Anda akan diberikan penafian. Untuk melanjutkan upaya pengembangan Anda, Anda perlu menjawab 'y' untuk semua penafian.

Array Penuh
sumber
25

Pergi ke Android\sdk\tools\bin

Tidak ada solusi di atas yang berhasil untuk saya dan akhirnya satu baris ini menerima semua lisensi android.

yes | sdkmanager --licenses && sdkmanager --update
vishwaraj.dll
sumber
1
Jika windowspengguna mendapatkan kesalahan. Coba sdkmanager --licenses && sdkmanager --updatedan terima lisensi secara manual.
Rahmat Ali
Untuk pengguna macOs buka / Users / USERNAME / Library / Android / sdk / tools / bin dan yes | ./sdkmanager --licenses. dan ./sdkmanager --help untuk mengetahui lebih banyak.
Pushpak Sharma
13

Saya punya masalah, Anda tidak perlu menyalin atau membuat folder apa pun, cukup berhati-hatilah dengan jalur SDK Anda, itu harus sama dengan variabel lingkungan (ANDROID_HOME), yang tidak sama untuk saya, tidak tahu mengapa.

lokasi sdk

John
sumber
13

Dalam kasus saya, saya tidak menggunakan studio Android (saya menggunakan eclipse). Saya melakukan langkah berikut: Dipecahkan hanya dengan menjalankan perintah

android-sdks/tools/bin$ ./sdkmanager --update

Yang membuat licensesdirektori dan menambahkan file bernama android-sdk-licensedi dalamnya.

Kemudian Anda dapat menjalankan ( licensesopsi tidak tersedia kecuali Anda melakukan langkah di atas)

android-sdks/tools/bin$ ./sdkmanager --licenses

dan menerima lisensi (namun, dalam kasus saya, saya tidak perlu melakukan itu)

BeeZone
sumber
9

Saya menginstal android sdk build-tools 24 (saat ini versi 24.0.3) melalui pengelola SDK. Jalur untuk membuka pengelola SDK ditunjukkan dalam file img terlampir. Ini memecahkan masalah saya SDK Manager

BruS
sumber
1
Saya tidak melihat gambar terlampir, tapi ini juga berhasil untuk saya. Ada tombol di Android Studio untuk SDK Manager, dan kemudian Anda dapat membuka pengelola SDK mandiri yang memungkinkan Anda mengunduh semua Android 24 dengan mudah
Yonatan Kogan
Sekali lagi saya menghadapi masalah yang sama ketika menginstal menggunakan cordova build di pc lain dengan os windows 7. Kali ini saya telah memasang alat 24. Demikianlah langkah-langkah yang disebutkan oleh Feyyaz di bawah ini. Itu menginstal Android 7.0 (API 24) dan berfungsi. Jadi saya merasa cordova terbaru yang lebih besar dari 6 versi membutuhkan API 24 dengan alat build 24 atau versi yang lebih tinggi. Tetapi saya tidak menemukan dokumentasi apa pun untuk ini di situs web mereka.
BruS
di MacOS dan Linux, pengelola SDK ada di $ ANDROID_HOME / tools / android
Tony Laidig
7

Saya memiliki Android SDK dengan menginstal Android Studio dan mendapatkan kesalahan ini juga. Ada solusi sederhana dari panduan pengguna .

  1. Di komputer yang menginstal Android Studio, klik Tools > Android > SDK Manager. Di bagian atas jendela, catat Lokasi Android SDK .

  2. Arahkan ke direktori itu dan cari licenses/direktori di dalamnya.

    (Jika Anda tidak melihat licenses/direktori, kembali ke Android Studio dan perbarui alat SDK Anda, pastikan untuk menerima perjanjian lisensi. Saat Anda kembali ke direktori utama Android SDK, Anda sekarang akan melihat direktori tersebut.)

  3. Salin seluruh licenses/direktori dan tempelkan ke Android SDK home directorymesin tempat Anda ingin membangun proyek.

Java Xu
sumber
7

Kesalahan ini bisa terjadi jika sistem tidak mengambil variabel lingkungan ANDROID_HOME dari jalur yang benar. Pastikan Anda telah menginstal Android SDK dan telah mengatur variabel ANDROID_HOME dengan benar ke jalur yang sesuai seperti pada gambar di bawah ini:

ANDROID_HOME_PATH

Jika variabel ANDROID_HOME tidak ditentukan, sistem akan mencoba untuk memilih jalur dari jalur default (ini mungkin bukan jalur tempat Android SDK ditentukan, yang menyebabkan masalah ini).

Krishna_Anipindi
sumber
5

Instal komponen berikut ini:

masukkan deskripsi gambar di sini

Sumant Singh
sumber
4

Itu karena secara default pada saat penulisan ini, alat CLI Ionic adalah default

<preference name="android-targetSdkVersion" value="LATEST_SDK_VERSION"/> 

Itulah alasan mengapa ia mengeluh bahwa Anda tidak menerima perjanjian lisensi, tetapi pada kenyataannya Anda tidak menginstal paket SDK untuk API Level tersebut namun menerima lisensi saja.

Jadi yang perlu Anda lakukan adalah

  1. Ubah versi SDK target Anda
  2. Instal level API SDK terbaru dari SDK Manager

Mengubah versi SDK Anda

Anda dapat melakukannya secara manual dan bahkan memverifikasinya dengan menjalankan

ionic cordova platform add android 

file dapat ditemukan saat your-awesome-app/config.xml membukanya dan menambahkan baris ini, karena disembunyikan seperti yang disebutkan di atas

<preference name="android-targetSdkVersion" value="24"/>

Jika Anda tidak yakin Nomor LEVEL API mana yang Anda targetkan, buka SDK Manager dan lihat tingkat API (Angka) yang tersedia di komputer Anda

Menginstal Paket SDK Terbaru

Anda dapat menambahkan saat ini Paket SDK yang CLI menunjukkan, yang dalam kasus Anda adalah 24

Jalankan SDK MANAGERsebagai Admin

Jalankan SDK Manager sebagai Admin

Instal Paket API SDK yang Anda targetkan

Di situlah tingkat API SDK ditulis

Bagaimana saya tahu ini? Saya melakukannya pagi ini dan begitulah cara saya mengatasinya dan sekarang saya memainkan Sticky Bubble di Android untuk sedikit bersantai.

Selamat Menerapkan!

Fahad
sumber
Menambahkan targetSdkVersionke config.xmlfile memperbaiki masalah saya. Terima kasih :)
B Faley
4

Dalam kasus saya (skrip Dockerfile untuk membangun wadah Android CI - https://github.com/menny/docker_android ), saya harus melakukan langkah-langkah ini:

mkdir ~/.android && touch ~/.android/repositories.cfg
yes | sdkmanager --licenses
sdkmanager "build-tools;26.0.0"
sdkmanager "platform-tools" "tools"
sdkmanager "platforms;android-26" "platforms;android-25" "platforms;android-24"
.....
sdkmanager --update
yes | sdkmanager --licenses

Dua catatan:

  1. Harus membuat repositories.cfgfile kosong atau sdkmanagermati.
  2. Harus melakukan pengambilan / penginstalan paket dalam panggilan yang berbeda, karena tidak ada indikasi kemajuan.
Menny
sumber
4

Buka C: \ Users {user} \ AppData \ Local \ Android \ sdk \ tools \ bin

lalu jalankan sdkmanager --licenses

itu akan meminta Anda untuk menerima perjanjian apa pun yang tersisa untuk diterima. Anda hanya perlu mengetik "y" dan masuk.

Akan menyelesaikan masalah

Lakshitha Ruwan
sumber
Ini juga bagus jika Anda memiliki server build yang harus mengunduh sdk secara otomatis.
Roel
Saya Mencoba itu dan saya mendapatkan Couldn't load neither find main class com.android.sdklib.tool.SdkManagerCli. Ide ide?
PlayHardGoPro
Ini mungkin berguna stackoverflow.com/questions/40718487/… . Anda dapat mencoba menjalankan './SdkManagerCli' di dalam / sdklib / folder alat.
Lakshitha Ruwan
4

Saya menggunakan Mac dan saya mengatasinya menggunakan perintah ini:

$ which sdkmanager
/usr/local/bin/sdkmanager
$ /usr/local/bin/sdkmanager --licenses
Warning: File /Users/user/.android/repositories.cfg could not be loaded.
6 of 6 SDK package licenses not accepted.
Review licenses that have not been accepted (y/N)? y

Kemudian saya memiliki daftar 6 lisensi untuk diterima dan diselesaikan setelah itu.

Neel
sumber
4

Anda juga bisa mengikuti cara "resmi". Jalankan " sdkmanager --licenses " dalam folder tools / bin dari instalasi Android SDK dan terima semua lisensi. Selesai!

c:\android-sdk\tools\bin>sdkmanager --licenses

Untuk macOS atau Linux, perintahnya sama.

Georgy K
sumber
3

Saya harus memperbarui sdk android

android update sdk --no-ui

pada titik tertentu akan meminta Anda untuk perjanjian lisensi, tekan y. Setelah itu Anda perlu menghapus platform sudut.

Tasnim Reza
sumber
3
  1. Buka lokasi Android SDK

C: \ Users \ username \ AppData \ Local \ Android \ sdk \ tools \ bin

  1. Jalankan perintah sdkmanager --licenses

  2. Terima lisensi untuk SDK

Inder malviya
sumber
4
Info yang sama telah diposting beberapa kali. Bagaimana Anda meningkatkan jawaban yang ada?
Stephen Kennedy
2

Perlu diinstal sdk-platform stabil terbaru . Saya menginstal SDK-Platform dari API 25. Itu memperbaiki masalah saya.Lihat Screenshot di bawah ini

Tushar Walzade
sumber
2

Masalah ini muncul saat versi lama SDK Manager ada di komputer tempat pendekatan build Android Berubah yang memerlukan "android studio". Saya menghadapi ini di Visual Studio yang berulang kali dihentikan dengan Pesan Kesalahan, "Anda belum menerima Lisensi untuk versi 25". Solusi untuk ini adalah "Instal Android Studio" dan kemudian "buka Variabel Lingkungan" dan setel ANDROID_HOME ke "C: \ Users \\ AppData \ Local \ Android \ Sdk" (Jalur ini dapat diambil dari Android Studio, Menu >> Tools >> SDK Manager. Gunakan juga yang sama di "path" dari Variabel Lingkungan. Dengan cara ini, manajer SDK baru dipetakan untuk diambil oleh Visual Studio Build untuk Aplikasi Cordova.

Ini hanya membutuhkan usaha 2 hari saya untuk kedua kalinya

Berharap orang lain tidak membuang waktu mereka dalam kekacauan ini.

ekambar kodali
sumber
1

Mengubah build target mungkin berfungsi seperti yang dirujuk di sini

Jika Anda ingin menentukan versi SDK, Anda dapat melakukannya dengan menambahkan baris berikut ke config.xml Anda di root proyek ionic / cordova Anda

<preference name="android-targetSdkVersion" value="23"/>
Madhu Kumar
sumber
1

Semoga ini berhasil untuk seseorang di luar sana yang
saya hadapi masalah yang sama! Saya memiliki 2 sdks, bernama sdk dan sdk1. Ini secara default ditautkan ke sdk tetapi yang berfungsi adalah sdk1. Jadi saya pergi ke Environment Varaible dan menambahkan ANDROID_HOME dan path sdk1, yaitu dalam kasus saya adalah C: \ Users \ tripa_000 \ AppData \ Local \ Android \ sdk1 , dan itu memecahkan masalah saya!

Tripathee Gaurav
sumber
0

Bagi saya, saya sedang Membangun Ionic menggunakan perintah "ionic build android" dan saya mendapatkan masalah yang sama! Solusinya sederhana

  • Untuk menginstal sdk yang diperlukan
  • Jalankan perintah yang sama di CMD harus sebagai administrator
Adel
sumber
0

Saya baru saja mengalami masalah ini, dan apa yang menyelesaikannya untuk saya di windows, Anda menggunakan baris perintah, dan Anda baru saja menginstal sdk android, Anda harus memulai ulang Command Prompt atau Power Shell setelah Anda menginstal sdk android.

Norman Breau
sumber
0

Jawaban Mike berhasil, tetapi harus meletakkan lisensi yang dihasilkan di bawah C: \ Users \ user \ AppData \ Local \ Android \ sdk \ licenses.

Thyagarajan C
sumber
0

artinya kehilangan kecocokan versi SDK Android dari cordova dengan versi yang Anda instal. Sebagai contoh, cordova mendukung Android SDK 24 tetapi Anda tidak memiliki Android sdk 24. mungkin sebaliknya.

Yusuf
sumber
0

Ini akan memperbarui SDK android Anda dan menerima lisensinya pada saat yang sama (misal untuk Android 25):

android update sdk --no-ui --filter build-tools-25.0.0, android-25, extra-android-m2repository

Yann Ulrich
sumber
0

Masalah bagi saya adalah variabel ANDROID_HOME saya disetel ke instalasi lain yang saya lupa ada. Jika ini masalah Anda, hapus instalasi lama.

Cilan
sumber