Помилка "Не вдалося встановити наступні пакети SDK для Android, оскільки деякі ліцензії не прийняті"


143

Я отримую цю помилку в jitpack, я пробував все в Інтернеті. Нижче моя помилка

Failed to install the following Android SDK packages as some licences have not been accepted.
     platforms;android-26 Android SDK Platform 26
     build-tools;28.0.3 Android SDK Build-Tools 28.0.3
  To build this project, accept the SDK license agreements and install the missing components using the Android Studio SDK Manager.

І коли я запускаю ./sdkmanager --licenses

 All SDK package licenses accepted.======] 100% Computing updates...             

Використання sudo з наведеною вище командою дає

Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
    at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
    at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
    at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
    at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:73)
    at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
    ... 5 more

додатковий журнал помилок

File /opt/android-sdk-linux/.android/repositories.cfg could not be loaded.
Checking the license for package Android SDK Build-Tools 28.0.3 in /opt/android-sdk-linux/licenses
Warning: License for package Android SDK Build-Tools 28.0.3 not accepted.
Checking the license for package Android SDK Platform 26 in /opt/android-sdk-linux/licenses
Warning: License for package Android SDK Platform 26 not accepted.

Я не знаю, чому там перевіряють ліцензії, коли моє місцезнаходження sdk інше


1
Здається, тут є трохи божевільне рішення , хоча воно може спрацювати!
Джейк Лі,

2
У мене була та сама проблема. Я завантажив відповідні SDK через Android Studio, і жодного разу він не запитував мене про будь-які ліцензії. Ще одна непотрібна проблема.
Стів Сміт

Відповіді:


268

Вам потрібно прийняти ліцензії перед будівництвом.

Згідно з документами Android SDK, ви можете використовувати таку команду залежно від розташування sdkmanager: Документи на --licensesопції, схоже, відсутні.

yes | sdkmanager --licenses

Дистрибутиви GNU / Linux:

yes | ~/Android/Sdk/tools/bin/sdkmanager --licenses

macOS:

export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home
yes | ~/Library/Android/sdk/tools/bin/sdkmanager --licenses

Windows:

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

40
Я отримав цю помилкуException in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
HendraWD

5
@HendraWD Якщо ви встановили на комп’ютері додаткову Java (Примітка: Android Studio має власну Java), слід переконатися, що у них однакова версія. В іншому випадку може статися ця помилка. Я вирішив це зараз, встановивши шлях "Android Studio / jre" до JAVA_HOME.
Licat Julius

8
Для Mac без Java встановлена, я повинен був export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home, cd ~/Library/Android/sdk/tools/bin, ./sdkmanager --licenses.
Грем

1
FWIW: Також здається, що підтримується лише JDK <11, і, як не дивно, Ubuntu 18.04 поставляється openjdk 11як jdk за замовчуванням. Переконавшись, що я використовую підтримувану версію Java, я замість цього отримав Error: Could not create the Java Virtual Machineі виявив, що мені довелося викликати sdkmanagerза допомогою sudo.
JHH

Мені довелося запустити команду з sudo в ubuntu, так | sudo ~ / Android / Sdk / tools / bin / sdkmanager --licences
mramsath

50

в ОС Windows перейдіть до шляху sdkmanager, а потім виконайте

./sdkmanager.bat --licenses

Ви можете знайти свій sdkmanager у C:\Users\USER\AppData\Local\Android\Sdk\tools\bin

Щоб знайти фактичний шлях до SDK для Android, дотримуйтесь червоно позначеної області на малюнку нижче

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


1
Після цього ви можете переглянути кожну ліцензію та прийняти їх відповідно через одне і те ж вікно bash (Windows CMD видає помилку. Використовуйте git bash або інше замість CMD Windows)
Tharusha


21

В Android Studio перейдіть до Інструменти -> Менеджер SDK .

Перейдіть на вкладку SDK Tools .

Виберіть Інструменти командного рядка Android SDK (найновіші) та завантажте, натиснувши Застосувати .

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

У Windows ви можете знайти sdkmanager.bat за адресою

C: \ Users \ [ваш_користувач] \ AppData \ Local \ Android \ Sdk \ cmdline-tools \ latest \ bin

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


Цей допоміг
Sachin K

Це вирішило мою проблему!
douglasrcjames

18

Ви можете прийняти ліцензійні угоди зазначених SDK, перейшовши до Диспетчера SDK (Налаштування> [Пошук Android SDK]), потім знайдіть пакунки, зазначені в повідомленні про помилку, і знайдіть їх там. Швидше за все, ви знайдете пакети SDK, які не встановлені повністю, і їх встановлення попросить прийняти ліцензійну угоду.введіть тут опис зображення


1
Дякую! Це допомогло.
Naseem Ahamed

16

Для Windows я запустив наступне про platform;android-28помилку

C:\Android\sdk\tools\bin> .\sdkmanager.bat "platforms;android-28"

а потім погодитися на ліцензію


1
я використав. \ sdkmanager.bat - ліцензії, але не повідомив, що мені довелося використовувати "\" замість "/", дякую за роз'яснення.
Хамза,

запустіть командний рядок в режимі адміністратора, інакше це не спрацює
Шашанк,

13

використання android-28з build-toolsверсією 28.0.3; або build-toolsу версії 26.0.3.

або спробуйте це: yes | sudo sdkmanager --licenses


2
У вікнах ви можете просто запустити sdkmanager.bat --licensesта ввести yвсі запитання.
Агунг Сантосо,

12

MacOS Каталіна

Крок 1: Зміна налаштувань Android Studio

  1. Відкрийте свою Android Studio
  2. Натисніть Command + або перейдіть у верхній лівій частині AppBar Android Studio> Налаштування .
  3. На лівій панелі виберіть Вигляд> Налаштування системи> Android SDK
  4. Виберіть Інструменти SDK поруч із Платформи SDK та в розділі Розташування SDK для Android
  5. Поставте галочку для інструментів командного рядка Android SDK (остання) і натисніть кнопку OK .
  6. Дочекайтеся завершення установки

Розташування налаштувань Android Studio

Налаштування Android Studio

Крок 2 (для користувачів Flutter):

  1. Перейдіть до терміналу і запустіть наступну команду

flutter doctor --android-licenses

Крок 2 (Для користувачів Android):

  1. Перейдіть до терміналу і виконайте наступну команду

export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home

yes | ~/Library/Android/sdk/tools/bin/sdkmanager --licenses


Дякуємо: Дуже схоже на Centos 7
poleguy

11

Це працює для мене:

yes | ./sdkmanager "platforms;android-28"

yes | ./sdkmanager "build-tools;28.0.3"

yes | ./sdkmanager --licenses


1
У мене добре працювало (Ubuntu 19.10, IntelliJ 2019.2.4). Мені просто довелося встановити openJDK, тому що я мав лише вбудований JDK, недоступний з терміналуsudo apt install openjdk-8-jdk
56ka

4

Виглядає як помилка в цей момент: https://issuetracker.google.com/issues/123054726

Рішення, яке мені підходило:

Створіть файл .travis.yml у своєму каталозі проекту та скопіюйте такі рядки:

before_script:
- mkdir "$ANDROID_HOME/licenses" || true
- echo "24333f8a63b6825ea9c5514f83c2829b004d1fee" > "$ANDROID_HOME/licenses/android-sdk-license"

Довідка: https://github.com/square/RxIdler/pull/18/files


4

Для користувачів Windows Ви можете прийняти всі умови ліцензії тут. Вставте наведене нижче у ваш термінал

C:/Users/USERNAME/AppData/Local/Android/Sdk/tools/bin/sdkmanager.bat --licenses

PS: USERNAME - це ваше ім’я користувача для ПК


3

це команда

Я використовував наступне:

  • встановити маршрут sdk> AppData \ Local \ Android \ Sdk \ tools \ bin>
  • запустити. \ sdkmanager.bat - ліцензії

3

Ви також можете встановити його через менеджер SDK безпосередньо в Android Studio:

Інструменти -> Менеджер SDK -> Платформи SDK, і ви встановлюєте його безпосередньо, і вам пропонують прийняти ліцензійну угоду



2

в ОС Windows перейдіть до каталогу шляху sdkmanager у cmd

Ви можете знайти свій sdkmanager у C: \ Users \ USER \ AppData \ Local \ Android \ Sdk \ tools \ bin

потім виконайте наступну команду:

sdkmanager --ліцензії

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


1

Я помітив, що в Windows вашу консоль потрібно відкривати як адміністратор. В іншому випадку він не вважатиме, що ви прийняли ліцензії.


1

У моєму випадку ця проблема трапилася з тріпотінням тому що, по-перше, я встановив андроїд-студію з пакетом за замовчуванням, а потім встановив флаттер. Одне, що ви можете помітити тут, за замовчуванням, андроїд-студії немає необхідності приймати будь-яку ліцензію, тому для вирішення цієї проблеми нам потрібно прийняти всі ліцензії вручну.

Перейдіть до sdk>>tools>>binпапки, а потім виконайте команду нижче, щоб прийняти всі ліцензії.

. \ sdkmanager.bat --ліцензії


1

У Mac OS 10.15.1 я отримав ту саму помилку навіть після того, як прийняв усі ліцензії, запустивши. sdkmanager --licensesЦе спрацювало після того, як я оновив конфігурацію шляху ANDROID_HOME у ~ / .bash_profile до наступного

export ANDROID_HOME=/Users/your_username/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
export PATH=$PATH:~/Library/Android/sdk/platform-tools

І перезавантажте файл ~ / .bash_profile

source ~/.bash_profile 

1

Щоб додати до відповідей, ви також можете перейти до каталогу sdkmanager та в допоміжній оболонці та прийняти там ліцензії

(
    cd /home/user/android-sdk-linux/tools/bin
    yes | ./sdkmanager --licenses
)

1

У мене виникла проблема, і я новачок в android studio. Якщо ви спочатку працювали з рідною реакцією, і я намагався витягти з неї apk.

Я вирішив це, перейшовши до менеджера SDK в Android Studio і встановив API рівня 28.

У мене це спрацювало.


1

Я щойно зробив Файл -> Недійсні кеші та перезапустив Потім встановіть відсутні пакети. Працював у мене.


1

Відповіді лише на посилання не вважаються доброю практикою. Розгляньте можливість додати фрагменти або цитати за посиланням, щоб допомогти пояснити, як користувач може вирішити свою проблему. Будь ласка, див. Stackoverflow.com/help/how-to-answer
Suit Boy Apps

1

MacOs Каталіна

Просто встановіть інструменти відповідно до вкладеного зображення в AndroidSDK >> SDK Tools, це буде працювати. Для мене відсутня "Бібліотека ліцензування Google Play".

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


1

Я спробував багато рішень, але не працював для мене. Наведене нижче рішення працює для мене.

знайдіть файл sdkmanager в Android SDK.

У моєму випадку: ~ / Android / Sdk / tools / bin

перейти до цього шляху: cd ~/Android/Sdk/tools/bin

Прийміть ліцензії вручну: ./sdkmanager --licenses введіть Так або У


додати правильний заголовок
лебідь

0

Для mac просто спробуйте це і буде працювати:

Відкрийте термінал і перейдіть до нижнього шляху

cd /Users/anand/Library/Android/sdk
Cd tools/bin

Потім введіть нижче команди

yes | ./sdkmanager --licenses && ./sdkmanager --update

Використана команда нижче для встановлення SDK 8 на платформі Кордова Кордова, додайте android@8.0.0
Anand_5050,

0

Це працює для мене:

  1. Відкрийте Android Studio

  2. Відкрийте свій проект Flutter

  3. Відкрийте інструменти в Android Studio, які будуть зверху. Виберіть менеджер SDK, а потім поставте галочку:
    Android 9.0,
    Android 8.1,
    Android 8.0.
    Завантажте їх та встановіть, а потім перезапустіть Android Studio


0

Спробував це в Android Studio, і мені це вдалося:

Інструменти> Менеджер SDK (обов’язково поставте прапорець Показати пакети нижче)

Платформи SDK> Показати пакети> Android - 28 Платформи SDK> Показати пакети> Android - 28

Інструменти SDK> Показати пакети> 28.0.3 Інструменти SDK> Показати пакети> 28.0.3


0

В Android Studio 4.1 (може працювати і раніше) перейдіть до Менеджера SDK ( Tools> SDK Manager), а потім виберіть платформу (у цьому випадку API Android 8.0 (Oreo) 26). Клацніть на Apply(див. Знімок екрана нижче)

Знімок екрана меню Android SDK

Тепер ви приймете ліцензію нового SDK і завантажите платформу.


0

Якщо ви використовуєте флаттер, виконайте наступні дії

1.open the command prompt

Потім наступна команда

2.C:\Users\niroshan>flutter doctor

І ви побачите проблеми наступним чином

Doctor summary (to see all details, run flutter doctor -v):
[] Flutter (Channel stable, 1.22.2, on Microsoft Windows [Version 10.0.17763.1339], locale en-US)

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    X Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses
[!] Android Studio (version 4.1.0)
    X Flutter plugin not installed; this adds Flutter specific functionality.
    X Dart plugin not installed; this adds Dart specific functionality.
[] VS Code (version 1.50.1)
[!] Connected device
    ! No devices available

! Doctor found issues in 3 categories.

Насправді вам потрібно запустити команду нижче

C:\Users\niroshan>flutter doctor --android-licenses

-2

Якщо все вищезазначене не працює, краще рішення: переінсталювати Android SDK

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