Не можу прийняти ліцензійну угоду Android SDK Platform 24


119

Я отримую наступну помилку при спробі встановити платформу Android для проекту Cordova. Я дотримувався цього посібника: https://cordova.apache.org/docs/en/latest/guide/cli/

Помилка виникає під час виконання наступного: $ cordova платформа додати android --save

Виникла проблема з налаштуванням кореневого проекту "android". Ви не прийняли ліцензійні угоди таких компонентів SDK: [Android SDK Platform 24].

Я шукав у всьому світі способи прийняти ліцензійну угоду Android SDK Platform 24 , але справжньої удачі немає.

Дякую заздалегідь.


1
для Windows, відкрийте диспетчер SDK з доступом адміністратора. Зніміть вибір, знайдіть платформу SDK 24, перевірте це, встановіть. Там ви можете прийняти ліцензію.
Нік Чан Абдулла

1
для мене проблема, встановивши android-sdkз декількох місць ( brew, brew caskі android-studio) і не викликаючи відповідну sdkmanager --licensesкоманду
П'єр-Алексіс де Solminihac

Відповіді:


167

Ви також можете просто виконати

$ ANDROID_HOME / інструменти / bin / sdkmanager --ліценти

Або для виконання Windows

% ANDROID_HOME% / tools / bin / sdkmanager --ліценти

(зарахування команди Windows на @ puneet-kumar)


На Mac sdk знаходиться в / Бібліотека / Android /
Tyler Chong

Працював чудово і для Android 26 і 27. У мене була така ж проблема, але це сталося, коли моя кордова оновила ступінь з 4,0 до 4,1
Тревор

@PuneetKumar ця команда не працює для мене. У мене є файл sdkmanager.bat в папці інструменти / бін
Heemanshu Bhalla

in linux - bash: / tools / bin / sdkmanager: Немає такого файлу чи каталогу
Niladri Banerjee - Uttarpara

Чи є у вас спосіб це зробити неінтерактивно?
Пітер

163

Я не зовсім впевнений, як працює кордова, але як тільки ліцензії будуть прийняті, вона створює файл. Цей файл можна створити вручну. Це описано в цьому питанні , але ось команди для створення потрібного файлу ліцензії.

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"

Гей, Майку, з якого каталогу я виконую ці команди? Дякую!
Дані

Робочий каталог не повинен мати значення, доки визначена змінна середовища $ ANDROID_SDK. Це також може бути $ ANDROID_HOME. Одне з них слід визначити; Це розташування андроїд SDK. Ви можете ввести 'printenv' і здійснити пошук за визначеними змінними, щоб знайти його. Або просто 'echo $ ANDROID_HOME', щоб побачити, чи встановлено. Це припущення linux ... windows, ви б посилалися на змінні середовища на% ANDROID_SDK% замість $ ANDROID_SDK.
Майк

5
Разом з помилкою Кордова відлучить шлях до ANDROID_HOME (якщо ви не зможете її знайти)! Якщо ANDROID_HOME не встановлено, ви можете встановити його вручну так, як set ANDROID_HOME="C:\Users\*YOUR_USER_NAME*\AppData\Local\Android\sdk"і виконати наведені вище команди.
Арно ван Оордт

Використання Android Studio та встановлення Android версії 24 вирішили цю проблему для мене.
Девід Дуглас

3
Незважаючи на інструменти для побудови sdk, встановлено 24. мою проблему не було вирішено на комп'ютері Mac. Вирішили це вручну, створивши папку ліцензій та файл android-sdk-ліцензії, як пояснено вище
kushalvm

52

У мене ця проблема була на Mac OS X 10.12.1 з Cordova 6.4.0 та Android Studio 2.2.3.

Коли я встановив Android Studio, він встановив платформу 25, але не 24. Щоб встановити 24:

  • Відкрийте Android Studio.
  • Відкрити Android Studio Menu > Preferences.
  • Appearance & Behavior > System Settings > Android SDK
  • Поставте галочку для Android 7.0 (Nougat) | 24
  • Натисніть ОК і дотримуйтесь інструкцій.

Примітка: не забудьте налаштувати версію Android для платформи SDK відсутня
Hugo H

2
Я це зробив, але, напевно, міг би заощадити трохи часу, натиснувши "Показати деталі пакета" та вибравши лише SDK, а не встановити API Google та Source також.
Аарон

Тижні минули з моєї останньої збірки. повторно будуючи додаток, я знову зазначив ту саму проблему, але вирішує її після виконання цього рішення.
Jur P

27

У мене була точно така ж проблема. Потім я встановив "Android 7.0 (API 24)> SDK Platform", і це спрацювало.

введіть тут опис зображення


26

Найпростіший спосіб вирішити цю проблему - прийняти ліцензії за допомогою наступної команди:

ОС Windows:

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

Вам пред'являть відмови від відповідальності. Щоб продовжити ваші зусилля з розробки, вам потрібно відповісти "у" на всі відмови від відповідальності.


25

Йти до Android\sdk\tools\bin

Жодне з перерахованих вище рішень не працювало для мене, і нарешті цей єдиний рядок прийняв усі ліцензії на android.

yes | sdkmanager --licenses && sdkmanager --update

1
Якщо windowsкористувачі отримують помилку. Спробуйте sdkmanager --licenses && sdkmanager --updateприйняти ліцензії вручну.
Рахмат Алі

Для користувачів macOs перейдіть до / Users / USERNAME / Library / Android / sdk / tools / bin та yes | ./sdkmanager --licenses. і ./sdkmanager - допомогти дізнатися більше.
Пушпак Шарма

13

У мене виникла проблема, вам не потрібно копіювати або створювати будь-яку папку, просто будьте уважні до свого шляху SDK, він повинен бути однаковим із змінної середовища (ANDROID_HOME), яка не була для мене однаковою, не знаю чому.

розташування SDK


13

У моєму випадку я не використовую студію Android (я використовую eclipse). Я зробив наступний крок: Вирішив лише запустивши команду

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

Який створив licensesкаталог і додав файл, названий android-sdk-licenseвсередині нього.

Потім можна запустити ( licensesопція недоступна, якщо ви не зробили крок вище)

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

і прийняти ліцензію (проте, в моєму випадку мені цього не потрібно було)


9

Я встановив android sdk build-tools 24 (це поточна версія 24.0.3) через менеджер SDK. Шлях до відкриття менеджера SDK відображається у доданому файлі img. Це вирішило мою проблему менеджера SDK


1
Я не бачу прикріпленого зображення, але це працювало і для мене. У Android Studio є кнопка для менеджера SDK, і тоді ви можете відкрити автономний менеджер SDK, який дозволить вам досить легко завантажити всі андроїд 24 речі
Yonatan Kogan

Знову я зіткнувся з тією ж проблемою при установці за допомогою побудови cordova на іншому ПК з Windows 7 os. На цей раз у мене були встановлені 24 інструменти для збирання. Тож дотримуйтесь кроків, про які Фейяз згадував нижче. Тобто встановлення Android 7.0 (API 24) і працювало. Тому я вважаю, що остання кордова, що перевищує 6 версій, потребує API 24 із інструментом збирання 24 або вище. Але я не знайшов жодної документації для цього на їхньому веб-сайті.
BruS

на MacOS та Linux менеджер SDK знаходиться на $ ANDROID_HOME / tools / android
Tony Laidig

7

У мене було встановлено Android SDK, встановивши Android Studio і отримав цю помилку. Є просте рішення з посібника користувача .

  1. На машині з встановленою Android Studio натисніть Tools > Android > SDK Manager. У верхній частині вікна відзначте місце розташування SDK для Android .

  2. Перейдіть до цього каталогу та знайдіть licenses/каталог всередині нього.

    (Якщо ви не бачите licenses/каталог, поверніться до Android Studio і оновіть інструменти SDK, переконайтесь, що ви приймаєте ліцензійні угоди. Повернувшись до домашнього каталогу Android SDK, ви повинні побачити цей каталог.)

  3. Скопіюйте весь licenses/каталог і вставте його в Android SDK home directoryмашину, на якій ви хочете створити свої проекти.


7

Ця помилка може виникнути, якщо система не вибирає змінну середовища ANDROID_HOME із правильного шляху. Переконайтесь, що ви встановили Android SDK і правильно встановили змінну ANDROID_HOME на відповідний шлях, як на зображенні нижче:

ANDROID_HOME_PATH

Якщо змінна ANDROID_HOME не визначена, система намагається вибрати шлях із шляху за замовчуванням (це може бути не той шлях, де визначено SDK для Android, що призводить до цієї проблеми).



4

Це тому, що за замовчуванням під час написання цього документа інструментом Ionic CLI є дефолт

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

Саме тому він скаржиться на те, що ви не приймали ліцензійну угоду, але насправді ви не встановлювали пакети SDK для цього рівня API, але поодинці приймаєте ліцензію.

Тож те, що вам потрібно зробити, це будь-яке

  1. Змінення цільової версії SDK
  2. Встановіть останній рівень API SDK від менеджера SDK

Зміна версії SDK

Ви можете це зробити вручну і навіть перевірити це, запустивши

ionic cordova platform add android 

файл можна знайти, your-awesome-app/config.xml відкривши його, і додайте цей рядок, оскільки його приховано, як зазначено вище

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

Якщо ви не впевнені, на який номер API рівня ви орієнтуєтесь у відкритому диспетчері SDK та перегляньте рівні API (цифри), доступні на вашому комп'ютері

Встановлення останнього пакета SDK

Ви можете додати поточні пакети SDK, які відображає CLI , що у вашому випадку це 24

Запустити SDK MANAGERяк адміністратор

Запустіть менеджера SDK як адміністратора

Встановіть пакети API SDK, на які ви орієнтовані

Саме там записано рівень API SDK

Звідки я це знав? Я зробив це сьогодні вранці, і ось як я вирішив це, і зараз я граю Sticky Bubble на Android, щоб трохи відпочити.

Щасливого розгортання!


Додавання targetSdkVersionдо config.xmlфайлу вирішило мою проблему. Дякую :)
B Faley

4

У моєму випадку (сценарій Dockerfile для створення контейнера Android CI - https://github.com/menny/docker_android ), я повинен був виконати наступні дії:

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

Дві ноти:

  1. Довелося створити порожній repositories.cfgфайл або sdkmanagerзагинув би.
  2. Довелося виконувати вилучення / встановлення пакетів у різних дзвінках, оскільки немає індикатора прогресу.

4

Перейдіть до C: \ Users {user} \ AppData \ Local \ Android \ sdk \ tools \ bin

потім запустіть sdkmanager --licenses

він попросить вас прийняти будь-які угоди, що залишаються прийнятими. вам просто доведеться набрати "y" і ввести.

Вирішимо питання


Це також чудово, якщо у вас є сервер збірки, який повинен автоматично завантажувати SDK.
Roel

Я пробував це і отримую Couldn't load neither find main class com.android.sdklib.tool.SdkManagerCli. Ідеї?
PlayHardGoPro

Це може бути корисною stackoverflow.com/questions/40718487/… . ви можете спробувати запустити './SdkManagerCli' у папці / sdklib / tools.
Лакшита Рууан

4

Я використовую Mac, і я вирішив це за допомогою цієї команди:

$ 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

Тоді у мене був список із 6 ліцензій, які потрібно прийняти, і після цього його вирішено


4

Ви також можете слідувати "офіційним" шляхом. Запустіть " sdkmanager --licenses " в папці інструментів / бін встановлення Android SDK та прийміть усі ліцензії. Готово!

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

Для macOS або Linux це та сама команда.


3

Мені довелося оновити android sdk

android update sdk --no-ui

в якийсь момент він попросить у вас ліцензійну угоду, натисніть y. Після цього потрібно зняти кутову платформу.


3
  1. Перейдіть до Android SDK-місця

C: \ Користувачі \ ім'я користувача \ AppData \ Місцеві \ Android \ sdk \ tools \ bin

  1. Виконати команду sdkmanager --licenses

  2. Прийміть ліцензію на SDK


4
Ця інформація вже розміщувалася кілька разів. Як ваш покращується в існуючих відповідях?
Стівен Кеннеді

2

Для цього потрібна остання встановлена стабільна sdk-платформа . Я встановив SDK-платформу з API 25. Це вирішило мою проблему.Дивіться знімок екрана нижче


2

Ця проблема з’являється, коли вже стара версія SDK Manager знаходиться в машині, звідки змінюється підхід побудови Android, для чого потрібна «андроїд-студія». Я стикався з цим у Visual Studio, який неодноразово зупинявся повідомленням про помилку: "Ви не прийняли Ліцензію на версію 25". Рішення для цього - "Встановити Android Studio", а потім "перейти до змінних середовища" і встановити ANDROID_HOME на "C: \ Користувачі \\ AppData \ Local \ Android \ Sdk" (Цей шлях можна вибрати з Android Studio, Меню >> Інструменти >> Менеджер SDK. Також використовуйте те ж саме в "шляху" змінних довкілля. Таким чином, новий менеджер SDK відображається для підбору Visual Studio Build для програми Cordova.

Це просто зайняло мої 2 дні зусилля вдруге

Побажайте, щоб інші не витрачали час на цей безлад.


1

Зміна цільової збірки може працювати, як тут посилається

Якщо ви хочете вказати версію SDK, ви можете зробити це, додавши наступний рядок до config.xml у корені вашого проекту ionic / cordova

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


1

Сподіваюся, це спрацює для когось там, де
я зіткнувся з тим же питанням! У мене було 2 sdks, названі як sdk та sdk1. Він був за замовчуванням пов'язаний з sdk, але робочим був sdk1. Тож я перейшов до Environment Varaible і додав ANDROID_HOME і шлях sdk1, тобто в моєму випадку було C: \ Users \ tripa_000 \ AppData \ Local \ Android \ sdk1 , і це вирішило мою проблему!


0

Для мене я будував Ionic за допомогою команди "ionic build android", і я отримував ту саму проблему! Рішення було просто

  • Щоб встановити необхідний sdk
  • Виконати таку ж команду в CMD має бути адміністратором

0

Я щойно зіткнувся з цією проблемою, і що вирішило це для мене на Windows, ви використовуєте командний рядок, і ви нещодавно встановили sdk для android, ви повинні перезапустити командний рядок або Power Shell після установки Android sdk.


0

Відповідь Майка працює. Але згенеровану ліцензію потрібно поставити під ліцензії C: \ Users \ user \ AppData \ Local \ Android \ sdk \.


0

його середня міс відповідає Android SDK версії cordova та встановленій вами версії. Для прикладу cordova підтримує Android SDK 24, але у вас немає Android sdk 24. Це може бути зворотним.


0

Це оновить ваш SDK для android і прийме ліцензію одночасно (наприклад, для Android 25):

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


0

Проблема для мене полягала в тому, що моя змінна ANDROID_HOME була встановлена ​​на іншу установку, яку я забув, що існує. Якщо це ваша проблема, видаліть стару установку.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.