Я получаю эту ошибку в 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 другое
У меня такая же проблема. Я загрузил соответствующие SDK через Android Studio, и он ни разу не спросил меня о каких-либо лицензиях. Еще одна ненужная проблема.
Я «принял» лицензии, но, должно быть, они не были сохранены, поскольку каталог android sdk был доступен только для чтения. Chmod 777-ing каталог sdk заставил меня работать. sudo chmod -R 0777 /opt/android-sdk
@nathanfranke это хороший момент - если каталоги Android SDK не доступны для записи, принятие лицензии не сохраняется. Вероятно, вы также можете обойти это, запустив от имени пользователя, которому принадлежат эти папки, или от имени группы, владеющей папками, в зависимости от того, как были установлены папки.
sudo chown Пользователь -R /usr/lib/android-sdk
используйте android-28 с build-tools в версии 28.0.3; или build-tools в версии 26.0.3.
или попробуйте это: yes | sudo sdkmanager --licenses
В Windows вы можете просто запустить sdkmanager.bat --licenses и ввести y для всех вопросов.
На данный момент кажется ошибкой: https://issuetracker.google.com/issues/123054726
Решение, которое сработало для меня:
Создайте файл .travis.yml в каталоге вашего проекта и скопируйте следующие строки:
before_script:
- mkdir "$ANDROID_HOME/licenses" || true
- echo "24333f8a63b6825ea9c5514f83c2829b004d1fee" > "$ANDROID_HOME/licenses/android-sdk-license"
Перед сборкой необходимо принять лицензии.
В соответствии с Документы Android SDK вы можете использовать следующую команду в зависимости от местоположения sdkmanager: Однако опция Docs on --licenses, похоже, отсутствует.
yes | sdkmanager --licenses
Дистрибутивы GNU/Linux:
yes | ~/Android/Sdk/tools/bin/sdkmanager --licenses
макОС:
export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home
yes | ~/Library/Android/sdk/tools/bin/sdkmanager --licenses
Окна:
%ANDROID_HOME%/tools/bin/sdkmanager --licenses
Флаттер:
> flutter doctor --android-licenses
Я получил эту ошибку Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
@HendraWD Если вы установили на свой компьютер дополнительную Java (Примечание: в Android Studio есть собственная Java), вы должны убедиться, что у них одинаковая версия. В противном случае может возникнуть эта ошибка. Я решил это только сейчас, установив путь «Android Studio/jre» к JAVA_HOME.
Для Mac без установленной Java мне пришлось использовать export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home, cd ~/Library/Android/sdk/tools/bin, ./sdkmanager --licenses.
FWIW: Также кажется, что поддерживается только JDK < 11, и, как ни странно, Ubuntu 18.04 поставляется с openjdk 11 в качестве jdk по умолчанию. Убедившись, что я использую поддерживаемую версию Java, вместо этого я получил Error: Could not create the Java Virtual Machine и обнаружил, что мне нужно вызывать sdkmanager с помощью sudo.
Мне пришлось запустить команду с помощью sudo в Ubuntu, да | sudo ~/Android/Sdk/tools/bin/sdkmanager --licenses
Для новичков %ANDROID_HOME% означает путь, по которому установлен SDK.
в Windows нажмите WIN+R и выполните команду: %ANDROID_HOME%/tools/bin/sdkmanager --licenses
@HendraWD этот ответ устранил проблему с ошибкой Xml: stackoverflow.com/a/68210820/191463
Это работает для меня:
yes | ./sdkmanager "platforms;android-28"
yes | ./sdkmanager "build-tools;28.0.3"
yes | ./sdkmanager --licenses
У меня работало нормально (Ubuntu 19.10, IntelliJ 2019.2.4). Мне просто нужно было установить openJDK, потому что у меня был только встроенный JDK, недоступный с терминала sudo apt install openjdk-8-jdk.
в ОС Windows перейдите к вашему пути sdkmanager, затем выполните
./sdkmanager.bat --licenses
Вы можете найти свой sdkmanager на C:\Users\USER\AppData\Local\Android\Sdk\tools\bin
Чтобы найти фактический путь Android SDK, следуйте по отмеченной красным области на картинке ниже.
После этого вы можете просмотреть каждую лицензию и принять их соответствующим образом через одно и то же окно bash (Windows CMD выдает ошибку. Используйте git bash или другой вместо Windows CMD)
Я попробовал это и по какой-то причине получил ошибку Java classdefnotfound для XmlSchema.
Если вы работаете с Flutter, то эта команда определенно подойдет вам.
flutter doctor --android-licenses
Это не работает. Не говорите определенно, когда это не определенно.
В 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
Чтобы добавить ответы, вы также можете перейти в каталог sdkmanager и во вспомогательную оболочку и принять там лицензии.
(
cd /home/user/android-sdk-linux/tools/bin
yes | ./sdkmanager --licenses
)
Я только что сделал File -> Invalidate caches и перезапустил Затем установите недостающие пакеты. Работал на меня.
Вы можете принять лицензионные соглашения указанных SDK, перейдя в Диспетчер SDK (Настройки > [Поиск Android SDK]), затем найдите пакеты, указанные в сообщении об ошибке, и найдите их там. Скорее всего, вы обнаружите, что SDK не установлены полностью, и при их установке вам будет предложено принять лицензионное соглашение. 
Спасибо за это, много имеет больше смысла принимать лицензии в AS, чем возиться в командной строке. Сработало очарование, должно быть наверху.
@dKen без проблем. Спасибо, что оценили это.
Мне также нужно было обновить SDK, но чтобы приложение наконец скомпилировалось, мне также нужно установить Android-SDK-Command-Line-Tools.
flutter doctor --android-licenses
export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home
yes | ~/Library/Android/sdk/tools/bin/sdkmanager --licenses
Идеальный и очень полезный ответ. Из всех ответов и различных решений, которые я пробовал, только это сработало для меня хорошо. Я использую ionic и mac, и приведенное выше решение было идеальным, а подробные шаги были очень полезными. Спасибо.
Большое спасибо. Шаги 1 и 2 для пользователей флаттера сработали для меня. В настоящее время я использую macOS Big Sur 11.6 и новичок в настройке флаттера и студии Android вместе. Еще раз спасибо!
В Android-студия перейдите к Инструменты -> Диспетчер SDK.
Перейдите на вкладку Инструменты SDK.
Выберите Инструменты командной строки Android SDK (последняя версия) и загрузите, нажав Применять.
На Окна вы можете найти sdkmanager.bat по адресу
C:\Users\[ваш_пользователь]\AppData\Local\Android\Sdk\cmdline-tools\latest\bin
Это лучший ответ для Windows! Спасибо.
Это также то, что работало для меня в OS X. Опция терминала sdkmanager не работала.
Это решение работает для Ubuntu V20.04.
Работает на Windows 10.
Лучший ответ, безупречно работает на Win11 :)
да! Работал на Ubuntu 20.04 - там, где другое решение не помогло
Я пробовал много решений, но не работал для меня. Решение ниже работает для меня.
найдите файл sdkmanager в Android SDK.
В моем случае : ~/Android/SDK/инструменты/бен
иди по этому пути: cd ~/Android/Sdk/tools/bin
Принять лицензии вручную: ./sdkmanager --licenses
Введите Да или д
в ОС Windows перейдите в каталог пути sdkmanager в cmd
Вы можете найти свой sdkmanager в C:\Users\USER\AppData\Local\Android\Sdk\tools\bin
затем выполните следующую команду:
sdkmanager --licenses
после этого он несколько раз попросит принять лицензионное соглашение, а затем принять все, просто набрав у в cmd
Если вы используете флаттер, выполните следующие шаги.
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
В Windows:
ПРИМЕЧАНИЕ. Путь должен быть добавлен
JAVA_HOME %ProgramFiles%\Android\Android Studio\jre
ANDROID_SDK_ROOT %LocalAppData%\Android\Sdk
Path %LocalAppData%\Android\Sdk
ПРИМЕЧАНИЕ. Примите все лицензии (скажем, y).
%ANDROID_SDK_ROOT%/tools/bin/sdkmanager.bat --licenses
(как показано ниже, или другая команда, которая не удалась для вас):
cd \myapp\
react-native run-android
В моем случае обновление buildToolsVersion на уровне приложения build.gradle работало отлично. Если вы не знаете, что использовать, вы можете создать новый проект и скопировать buildToolsVersion из него в существующий.
в моем случае я просто установил новую версию студии Android на новый ноутбук и клонировал старый репозиторий, где
buildToolsVersion "30.0.2" на уровне приложения build.gradle.
Я только что обновился до 30.0.3, который рекомендуется андроид студия сам по себе, и проблема исчезла.
Если вы получаете эту ошибку при использовании Flutter, выполните приведенную ниже команду в командной строке.
flutter doctor --android-licenses
Если вы получаете сообщение об ошибке ниже после выполнения вышеуказанной команды
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)
Затем, пожалуйста, выполните следующие шаги
flutter doctor --android-licenses сноваЭто работа для меня
Это действительно полезно
Это работает для меня в Windows 10:
C:
cd \Users\YOUR_USER\AppData\Local\Android\Sdk\cmdline-tools\latest\bin
sdkmanager.bat --licenses
После да всем
https://thewikihow.com/video_g789PvvW4qo мне очень помог. Что было сделано, так это открыть SDK Manager и загрузить любую новую платформу SDK (не волнуйтесь, это не повлияет на желаемый уровень API).
Потому что при загрузке любых платформ SDK (уровень API) вы должны принять лицензии. Вот этот трюк у меня сработал.
После открытия диспетчера SDK откройте вкладку инструментов SDK, как показано ниже.
Show Package DetailsВ нем будут перечислены все версии инструментов SDK.
Проверьте конкретную версию инструментов SDK, которая жалуется (для меня это была 29.0.3, как показано выше на первом снимке экрана) из списка, примите соглашение в открывшемся диалоговом окне, и все готово.
Это решение работало хорошо, но некоторые другие решения не работали.
@NickN Рад, что тебе помогло! :)
БОЛЬШОЕ СПАСИБО БРО. ЭТО РАБОТАЛО НА WINDOWS. Код из учебника udacity не работал из-за этой проблемы, и ваше решение спасло мой день.
@Добро пожаловать, доктор Мукама. :)
Также работал для меня, когда другие не сделали. Спасибо!
Работал для меня на Apple Silicon
@ПаблоМиранда Вау! Здорово! :)
Ты лучший бро!!!
@jjaur, спасибо, чувак! ^_^
спасибо, чувак, здесь все сработало, используя твое решение
У меня была такая же проблема при попытке запустить приложение на моем устройстве Android в другом проекте, где я работал с какой-то старой версией tomcat8 и должен был установить переменную и значение JAVA_OPTS. Поэтому я удалил эту системную переменную для JAVA_OPTS, для которой было установлено значение переменной -Xms1024m (удалите системную переменную JAVA_OPTS, но вы также можете сохранить ее для использования в будущем, если вам нужно вернуться к использованию ваших старых проектов, которым это может понадобиться).
Затем запустите bat-файл диспетчера SDK по пути к SDK: PS C:\Users[your_pc_username]\AppData\Local\Android\Sdk\tools\bin> .\sdkmanager.bat --licenses
Примите все лицензии (Y).
Как я решаю эту проблему (AndroidStudio 4.2)
BuildFailed to install the following Android SDK packages ... (предупреждение)Однострочное решение с переходом на java 8:
sudo apt-get install openjdk-8-jdk -y && export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 && flutter doctor --android-licenses
На Убунту это все еще не работало, используя предложенные ответы.
Вот что сработало для меня:
cd Папка full-path-to-bin, где находится sdkmanager.
yes | ./sdkmanager --licenses --sdk_root = "full-path-to-bin"
В опции --help показано, что мы можем передать ему общие аргументы, которые в итоге приняли ВСЕ лицензии:
Usage:
...
sdkmanager --licenses [<common args>]
...
Common Arguments:
--sdk_root=<sdkRootPath>: Use the specified SDK root instead of the SDK containing this tool
Я переместил папку Sdks и Avds, так как она использовала много памяти на локальном диске c, но после этого у меня возникла вышеуказанная проблема.
Для меня Invalidate Caches/Restart решить проблему
Файл->Недействительные кеши/Перезапустить
Там вроде немного бешеный решение здесь, может хоть сработает!