我在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位置是其他


当前回答

一个降级到java 8的线性解决方案:

sudo apt-get install openjdk-8-jdk -y && export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 && flutter doctor --android-licenses

其他回答

在Windows操作系统中,在cmd中进入sdkmanager路径目录

你可以在C:\Users\USER\AppData\Local\Android\Sdk\tools\bin目录下找到你的sdk管理器

然后执行如下命令:

sdkmanager——许可证

之后,它将要求接受许可协议几次,然后接受所有只需在CMD上键入y

在Android Studio去工具-> SDK管理器。

进入SDK工具选项卡。

选择Android SDK命令行工具(最新)并按下Apply下载。

在Windows上,您可以在

C:\Users\[your_user]\AppData\Local\Android\Sdk\cmdline-tools\latest\bin

一个降级到java 8的线性解决方案:

sudo apt-get install openjdk-8-jdk -y && export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 && flutter doctor --android-licenses

在Windows操作系统中,进入您的sdkmanager路径,然后执行

./sdkmanager.bat --licenses

你可以在C:\Users\USER\AppData\Local\Android\Sdk\tools\bin目录下找到你的sdk管理器

OR

对于那些没有在windows操作系统上使用android studio的人。转到cmdline-tools\tool\bin,在目录框上键入cmd,在终端上打开该目录。然后运行sdkmanager——licenses

要找到实际的android SDK路径,请遵循下图的红色标记区域

MacOS卡特琳娜

步骤1:改变Android Studio偏好

打开你的Android Studio 按Command+,或进入左上角的AppBar Android Studio > Preferences。 从左窗格,选择外观>系统设置> Android SDK 选择“SDK平台”旁边的“Android SDK位置”下的“SDK工具” 选中“Android SDK命令行工具(最新)”并按“确定”按钮。 等待安装完成

步骤2(适用于颤振用户):

进入“终端”,执行如下命令

飞扑医生,机器人执照

第二步(Android用户):

进入“终端”,执行如下命令

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

是| ~/Library/Android/sdk/tools/bin/sdkmanager——license .