Nie można zaakceptować umowy licencyjnej Android SDK Platform 24

119

Podczas próby zainstalowania platformy Android w projekcie Cordova pojawia się następujący błąd. Śledziłem ten przewodnik: https://cordova.apache.org/docs/en/latest/guide/cli/

Błąd występuje podczas wykonywania następującego polecenia: platforma $ cordova dodaj android --save

Wystąpił problem podczas konfigurowania głównego projektu „android”. Nie zaakceptowałeś umów licencyjnych dotyczących następujących składników SDK: [Platforma Android SDK 24].

Wszędzie szukałem sposobów zaakceptowania umowy licencyjnej platformy Android SDK 24 , ale bez prawdziwego szczęścia.

Z góry dziękuję.

Daneye
źródło
1
dla systemu Windows, otwórz Menedżera SDK z dostępem administratora. Odznacz wszystko, znajdź platformę SDK 24, zaznacz, zainstaluj. Tam możesz zaakceptować licencję.
Nick Chan Abdullah
1
dla mnie problem został po zainstalowaniu android-sdkz wielu miejsc ( brew, brew caski android-studio), a nie wywołanie odpowiedniej sdkmanager --licenseskomendy
Pierre-Alexis de Solminihac
Możliwy duplikat Automatycznie akceptuj wszystkie licencje SDK
user202729

Odpowiedzi:

167

Możesz także po prostu wykonać

$ ANDROID_HOME / tools / bin / sdkmanager --licenses

Lub dla systemu Windows wykonaj

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

(kredyt dla polecenia Windows to @ puneet-kumar)

Hardik Patel
źródło
Na Macu sdk znajduje się w / Library / Android /
Tyler Chong
Działał również świetnie dla Androida 26 i 27. Miałem ten sam problem, ale stało się to, gdy moja cordova zaktualizowała gradle z 4.0 do 4.1
Trevor
@PuneetKumar to polecenie nie działa dla mnie. Mam plik sdkmanager.bat w folderze tools / bin
Heemanshu Bhalla
w systemie linux - bash: / tools / bin / sdkmanager: Nie ma takiego pliku lub katalogu
Niladri Banerjee - Uttarpara
Czy masz sposób na wykonanie tego w sposób nieinteraktywny?
Peter Mounce
163

Nie jestem do końca pewien, jak działa cordova, ale po zaakceptowaniu licencji tworzy plik. Możesz utworzyć ten plik ręcznie. Jest to opisane w tym pytaniu , ale tutaj są polecenia do utworzenia wymaganego pliku licencji.

Linux:

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

Okna:

mkdir "%ANDROID_HOME%\licenses"
echo |set /p="8933bad161af4178b1185d1a37fbf41ea5269c55" > "%ANDROID_HOME%\licenses\android-sdk-license"
Mikrofon
źródło
Hej Mike, z jakiego katalogu wykonuję te polecenia? Dzięki!
Daneye
Katalog roboczy nie powinien mieć znaczenia, o ile zdefiniowana jest zmienna środowiskowa $ ANDROID_SDK. Może to być również $ ANDROID_HOME. Należy zdefiniować jedną z nich; To jest lokalizacja Android SDK. Możesz wpisać „printenv” i przeszukać zdefiniowane zmienne, aby je znaleźć. Lub po prostu „echo $ ANDROID_HOME”, aby sprawdzić, czy jest ustawione. Zakłada się, że linux ... windows odwołujesz się do zmiennych środowiskowych przez% ANDROID_SDK% zamiast $ ANDROID_SDK.
Mike
5
Wraz z błędem Cordova powtórzy ścieżkę do ANDROID_HOME (na wypadek, gdybyś nie mógł go znaleźć)! Jeśli ANDROID_HOME nie jest ustawiony, możesz ustawić go ręcznie w ten sposób set ANDROID_HOME="C:\Users\*YOUR_USER_NAME*\AppData\Local\Android\sdk"i wykonać powyższe polecenia.
Arno van Oordt
Użycie Android Studio i zainstalowanie Androida w wersji 24 rozwiązało ten problem.
David Douglas
3
Pomimo zainstalowanych narzędzi sdk build 24. mój problem nie został rozwiązany na komputerze Mac. Rozwiązano ten problem, ręcznie tworząc folder licencji i plik android-sdk-license, jak wyjaśniono powyżej
kushalvm
52

Miałem ten problem na Mac OS X 10.12.1 z Cordova 6.4.0 i Android Studio 2.2.3.

Kiedy zainstalowałem Android Studio, zainstalowałem Platformę 25, ale nie 24. Aby zainstalować 24:

  • Otwórz Android Studio.
  • Otwórz Android Studio Menu > Preferences.
  • Appearance & Behavior > System Settings > Android SDK
  • Zaznacz pole Android 7.0 (Nougat) | 24
  • Kliknij ok i postępuj zgodnie z instrukcjami.
jxmallett
źródło
Uwaga: nie zapomnij dostosować wersji Androida do brakującej platformy SDK
Hugo H,
2
Zrobiłem to, ale prawdopodobnie mogłem zaoszczędzić trochę czasu, klikając „Pokaż szczegóły pakietu” i wybierając tylko SDK, zamiast instalować również interfejsy API Google i źródło.
Aaron
Minęły tygodnie od mojej ostatniej kompilacji. ponowne budowanie aplikacji napotkałem ten sam problem powyżej, ale rozwiązałem go po wykonaniu tego rozwiązania.
Jur P
27

Miałem dokładnie ten sam problem. Następnie zainstalowałem „Android 7.0 (API 24)> Platforma SDK” i zadziałało.

wprowadź opis obrazu tutaj

feyyaz
źródło
26

Najprostszym sposobem rozwiązania tego problemu jest zaakceptowanie licencji za pomocą następującego polecenia:

System operacyjny Windows:

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

Zostaną wyświetlone zastrzeżenia. Aby kontynuować prace nad rozwojem, musisz odpowiedzieć „y” na wszystkie zastrzeżenia.

Pełna tablica
źródło
25

Iść do Android\sdk\tools\bin

Żadne z powyższych rozwiązań nie zadziałało i ostatecznie ta pojedyncza linia zaakceptowała wszystkie licencje Androida.

yes | sdkmanager --licenses && sdkmanager --update
vishwaraj
źródło
1
Jeśli windowsużytkownicy otrzymują błąd. Spróbuj sdkmanager --licenses && sdkmanager --updateręcznie zaakceptować licencje.
Rahmat Ali
W przypadku użytkowników macOs przejdź do / Users / USERNAME / Library / Android / sdk / tools / bin i yes | ./sdkmanager --licenses. i ./sdkmanager - pomoc, aby dowiedzieć się więcej.
Pushpak Sharma
13

Miałem problem, nie musisz kopiować ani tworzyć żadnego folderu, po prostu uważaj na swoją ścieżkę SDK, musi być taka sama jak zmienna środowiskowa (ANDROID_HOME), która nie była dla mnie taka sama, nie wiem dlaczego.

lokalizacja sdk

Jan
źródło
13

W moim przypadku nie korzystam ze studia Android (używam eclipse). Zrobiłem następujący krok: rozwiązany po prostu przez uruchomienie polecenia

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

Który utworzył licenseskatalog i dodał plik o nazwie android-sdk-licensewewnątrz niego.

Następnie możesz uruchomić ( licensesopcja nie jest dostępna, chyba że wykonałeś powyższy krok)

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

i zaakceptuj licencję (jednak w moim przypadku nie musiałem tego robić)

BeeZone
źródło
9

Zainstalowałem narzędzia do kompilacji Android SDK 24 (jest to aktualna wersja 24.0.3) przez menedżera SDK. Ścieżka do otwarcia menedżera SDK jest pokazana w załączonym pliku img. To rozwiązało mój problem z Menedżerem SDK

BruS
źródło
1
Nie widzę załączonego obrazu, ale to też zadziałało. W Android Studio jest przycisk dla Menedżera SDK, a następnie możesz otworzyć samodzielny menedżer SDK, który pozwoli ci łatwo pobrać wszystkie rzeczy z Androida 24
Yonatan Kogan
Ponownie napotkałem ten sam problem podczas instalacji przy użyciu kompilacji Cordova na innym komputerze z systemem operacyjnym Windows 7. Tym razem miałem już zainstalowane narzędzia do kompilacji 24. Więc postępuj zgodnie z krokami wymienionymi przez Feyyaz poniżej. To znaczy zainstalowanie Androida 7.0 (API 24) i zadziałało. Wydaje mi się, że najnowsza wersja Cordova większa niż 6 wymaga API 24 z narzędziem kompilacji 24 lub nowszą wersją. Ale nie znalazłem żadnej dokumentacji na ten temat na ich stronie internetowej.
BruS
w systemie MacOS i Linux menedżer SDK znajduje się pod adresem $ ANDROID_HOME / tools / android
Tony Laidig,
7

Miałem Android SDK, instalując Android Studio i otrzymałem również ten błąd. Istnieje proste rozwiązanie z instrukcji obsługi .

  1. Na komputerze z zainstalowanym Android Studio kliknij Tools > Android > SDK Manager. W górnej części okna zwróć uwagę na lokalizację zestawu SDK systemu Android .

  2. Przejdź do tego katalogu i znajdź znajdujący się w nim licenses/katalog.

    (Jeśli nie widzisz licenses/katalogu, wróć do Android Studio i zaktualizuj narzędzia SDK, upewniając się, że akceptujesz umowy licencyjne. Po powrocie do katalogu głównego Android SDK powinieneś zobaczyć katalog).

  3. Skopiuj cały licenses/katalog i wklej go Android SDK home directoryna komputerze, na którym chcesz budować swoje projekty.

Java Xu
źródło
7

Ten błąd może wystąpić, jeśli system nie pobiera zmiennej środowiskowej ANDROID_HOME z właściwej ścieżki. Upewnij się, że zainstalowałeś Android SDK i poprawnie ustawiłeś zmienną ANDROID_HOME na odpowiednią ścieżkę, jak na poniższym obrazku:

ANDROID_HOME_PATH

Jeśli zmienna ANDROID_HOME nie jest zdefiniowana, system próbuje wybrać ścieżkę ze ścieżki domyślnej (może to nie być ścieżka, w której zdefiniowano zestaw Android SDK, co prowadzi do tego problemu).

Krishna_Anipindi
źródło
5

Zainstaluj następujący komponent:

wprowadź opis obrazu tutaj

Sumant Singh
źródło
4

Dzieje się tak, ponieważ domyślnie w chwili pisania tego tekstu narzędzie Ionic CLI jest domyślnie ustawione na

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

To jest powód, dla którego skarży się, że nie zaakceptowałeś umowy licencyjnej, ale w rzeczywistości nie zainstalowałeś pakietów SDK dla tego poziomu API, ale sam akceptujesz licencję.

Więc to, co musisz zrobić, to albo

  1. Zmień docelową wersję SDK
  2. Zainstaluj najnowszy poziom interfejsu API SDK z Menedżera SDK

Zmiana wersji SDK

Możesz to zrobić ręcznie, a nawet zweryfikować, uruchamiając

ionic cordova platform add android 

plik można znaleźć po your-awesome-app/config.xml otwarciu go i dodaniu tej linii, ponieważ jest ukryty, jak wspomniano powyżej

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

Jeśli nie masz pewności, który numer POZIOMU ​​API zamierzasz otworzyć, otwórz Menedżera SDK i spójrz na poziomy interfejsu API (liczby) dostępne na Twoim komputerze

Instalowanie najnowszego pakietu SDK

Możesz dodać aktualne pakiety SDK, które pokazuje CLI , czyli w twoim przypadku 24

Uruchom SDK MANAGERjako administrator

Uruchom Menedżera SDK jako administrator

Zainstaluj pakiety SDK API, które są przeznaczone dla Ciebie

Tam jest napisany poziom API SDK

Skąd to wiedziałem? Zrobiłem to dziś rano i tak to rozwiązałem, a teraz gram w Sticky Bubble na Androida, żeby trochę się zrelaksować.

Miłego wdrażania!

Fahad
źródło
Dodanie targetSdkVersiondo config.xmlpliku rozwiązało mój problem. Dziękuję :)
B Faley
4

W moim przypadku (skrypt Dockerfile do zbudowania kontenera Android CI - https://github.com/menny/docker_android ) musiałem wykonać następujące kroki:

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

Dwie uwagi:

  1. Musiał stworzyć pusty repositories.cfgplik lub sdkmanagerzginął.
  2. Musiał wykonać pobieranie / instalowanie pakietów w różnych wywołaniach, ponieważ nie ma wskazania postępu.
Menny
źródło
4

Przejdź do C: \ Users {user} \ AppData \ Local \ Android \ sdk \ tools \ bin

następnie uruchom sdkmanager --licenses

poprosi Cię o zaakceptowanie wszystkich pozostałych umów do zaakceptowania. wystarczy wpisać „y” i wprowadzić.

Rozwiąże problem

Lakshitha Ruwan
źródło
Jest to również świetne, jeśli masz serwer kompilacji, który musi automatycznie pobierać pliki SDK.
Roel
Spróbowałem i otrzymałem Couldn't load neither find main class com.android.sdklib.tool.SdkManagerCli. Pomysły?
PlayHardGoPro
Może to być pomocne stackoverflow.com/questions/40718487/… . możesz spróbować uruchomić './SdkManagerCli' wewnątrz folderu / sdklib / tools.
Lakshitha Ruwan
4

Używam Maca i rozwiązałem to za pomocą tego polecenia:

$ 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

Potem miałem listę 6 licencji do zaakceptowania i po tym został rozwiązany.

Neel
źródło
4

Możesz także podążać „oficjalną” drogą. Uruchom „ sdkmanager --licenses ” w folderze tools / bin instalacji Android SDK i zaakceptuj wszystkie licencje. Gotowe!

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

W przypadku macOS lub Linux jest to to samo polecenie.

Georgy K.
źródło
3

Musiałem zaktualizować zestaw SDK Androida

android update sdk --no-ui

w pewnym momencie poprosi Cię o zgodę na licencję, naciśnij y. Następnie musisz usunąć kątową platformę.

Tasnim Reza
źródło
3
  1. Przejdź do lokalizacji Android SDK

C: \ Users \ nazwa użytkownika \ AppData \ Local \ Android \ sdk \ tools \ bin

  1. Uruchom polecenie sdkmanager --licenses

  2. Zaakceptuj licencję na SDK

Inder malviya
źródło
4
Te same informacje były już publikowane wiele razy. W jaki sposób Twoja poprawiła się w stosunku do istniejących odpowiedzi?
Stephen Kennedy
2

Wymaga zainstalowanej najnowszej stabilnej platformy SDK. Zainstalowałem SDK-Platform z API 25. To rozwiązało mój problem.Zobacz zrzut ekranu poniżej

Tushar Walzade
źródło
2

Ten problem pojawia się, gdy na komputerze znajduje się już stara wersja Menedżera SDK, z której zmieniono podejście do kompilacji systemu Android, co wymaga „Android Studio”. Spotkałem się z tym w programie Visual Studio, który był wielokrotnie zatrzymywany z komunikatem o błędzie „Nie zaakceptowałeś licencji dla wersji 25”. Rozwiązaniem tego problemu jest „Zainstaluj Android Studio”, a następnie „przejdź do zmiennych środowiskowych” i ustaw ANDROID_HOME na „C: \ Users \\ AppData \ Local \ Android \ Sdk” (tę ścieżkę można wybrać z Android Studio, menu >> Narzędzia >> Menedżer SDK. Użyj tego samego w „ścieżce” zmiennych środowiskowych. W ten sposób nowy menedżer SDK jest mapowany do pobrania przez Visual Studio Build for Cordova Application.

To zajęło mi 2 dni wysiłku po raz drugi

Niech inni nie marnują czasu w tym bałaganie.

ekambar kodali
źródło
1

Zmiana docelowej kompilacji może działać zgodnie z opisem tutaj

Jeśli chcesz określić wersję SDK, możesz to zrobić, dodając następujący wiersz do pliku config.xml w katalogu głównym projektu ionic / cordova

<preference name="android-targetSdkVersion" value="23"/>
Madhu Kumar
źródło
1

Mam nadzieję, że to zadziała dla kogoś, kogo
miałem do czynienia z tym samym problemem! Miałem 2 sdks, nazwane sdk i sdk1. To było domyślnie połączone z sdk, ale działającym było sdk1. Poszedłem więc do Environment Varaible i dodałem ANDROID_HOME oraz ścieżkę do sdk1, czyli w moim przypadku było to C: \ Users \ tripa_000 \ AppData \ Local \ Android \ sdk1 i to rozwiązało mój problem!

Tripathee Gaurav
źródło
0

Dla mnie budowałem Ionic za pomocą polecenia "ionic build android" i miałem ten sam problem! Rozwiązanie było proste

  • Aby zainstalować wymagany pakiet SDK
  • Uruchom to samo polecenie w CMD musi być administratorem
Adel
źródło
0

Właśnie natknąłem się na ten problem i co rozwiązało go dla mnie w systemie Windows, używasz wiersza poleceń, a niedawno zainstalowałeś pakiet SDK systemu Android, po zainstalowaniu zestawu SDK systemu Android musisz ponownie uruchomić wiersz polecenia lub powłokę Power Shell.

Norman Breau
źródło
0

Odpowiedź Mike'a działa, ale musisz umieścić wygenerowaną licencję w C: \ Users \ user \ AppData \ Local \ Android \ sdk \ licencje.

Thyagarajan C
źródło
0

jego średni brak pasuje do wersji Cordova z Androidem SDK z zainstalowaną wersją. Na przykład cordova obsługuje Android SDK 24, ale nie masz Android SDK 24. Może być odwrotnie.

Yusuf
źródło
0

Spowoduje to zaktualizowanie zestawu SDK systemu Android i jednoczesne zaakceptowanie licencji (np. Dla systemu Android 25):

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

Yann Ulrich
źródło
0

Problem polegał na tym, że moja zmienna ANDROID_HOME była ustawiana na inną instalację, o której zapomniałem. Jeśli to jest twój problem, usuń starą instalację.

Cilan
źródło