Не удалось установить следующие пакеты Android SDK, так как некоторые лицензии не были приняты в jitpack
Я получаю эту ошибку в 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
Вы должны принять лицензии перед сборкой.
В соответствии с документами Android SDK вы можете использовать следующую команду в зависимости от местоположения sdkmanager: хотя опция "Документы на --licenses
" отсутствует.
yes | sdkmanager --licenses
macOS: yes | sudo ~/Library/Android/sdk/tools/bin/sdkmanager --licenses
Windows: %ANDROID_HOME%/tools/bin/sdkmanager --licenses
Ответ 2
использовать android-28
с build-tools
в версии 28.0.3
; или build-tools
в версии 26.0.3
.
или попробуйте это: yes | sudo sdkmanager --licenses
yes | sudo sdkmanager --licenses
Ответ 3
в ОС Windows перейдите на путь sdkmanager и выполните
./sdkmanager.bat --licenses
Вы можете найти свой sdkmanager в C:\Users\USER\AppData\Local\Android\Sdk\tools\bin
или
Найти путь от Android-студии
Ответ 4
Для Windows я запустил следующее для platform;android-28
ошибка platform;android-28
C:\Android\sdk\tools\bin> .\sdkmanager.bat "platforms;android-28"
а затем согласиться на лицензию
Ответ 5
Это работает для меня:
yes |./sdkmanager "platforms;android-28"
yes |./sdkmanager "build-tools;28.0.3"
yes |./sdkmanager --licenses
Ответ 6
Похоже, ошибка в момент: 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
Ответ 7
Перейдите в корневую папку Android SDK (где внутри находится папка tools)
создать папку с лицензиями, если она не существует
создайте файл android-sdk-license в папке licenses, если она не существует
открыть файл android-sdk-license как текстовый файл (с помощью блокнота)
вставьте следующий контент в файл и сохраните его
8933bad161af4178b1185d1a37fbf41ea5269c55
d56f5187479451eabf01fb78af6dfcb131a6481e
24333f8a63b6825ea9c5514f83c2829b004d1fee
расположение лицензии: sdkpath\licenses\android-sdk-license
Ответ 8
Я заметил, что в Windows ваша консоль должна быть открыта от имени администратора. В противном случае он не будет считать, что вы приняли лицензии.