“由于某些许可尚未被接受,因此无法安装以下 Android SDK 包"错误 [英] "Failed to install the following Android SDK packages as some licences have not been accepted" error
问题描述
我在 jitpack 中遇到了这个错误,我已经尝试了互联网上的所有内容.以下是我的错误
I am getting this error in jitpack, I've tried everything on the internet. Below is my error
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
And when i run ./sdkmanager --licenses
All SDK package licenses accepted.======] 100% Computing updates...
在上面的命令中使用 sudo 会得到 p>
Using sudo with the above command gives
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 位置在其他位置时,我不知道为什么它会在那里检查许可证
I don't know why it's checking for licenses there when my sdk location is other
推荐答案
您需要在构建之前接受许可.
You need to accept the licences before building.
根据 Android SDK 文档,您可以使用以下命令,具体取决于在 sdkmanager 位置:关于 --licenses
选项的文档似乎丢失了.
According to Android SDK docs you can use the following command depending on the sdkmanager location: Docs on --licenses
option seems to be missing though.
yes | sdkmanager --licenses
GNU/Linux 发行版:
GNU/Linux Distributions:
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
视窗:
%ANDROID_HOME%/tools/bin/sdkmanager --licenses
颤动:
> flutter doctor --android-licenses
这篇关于“由于某些许可尚未被接受,因此无法安装以下 Android SDK 包"错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!