无法安装以下Android SDK软件包,因为jitpack中尚未接受某些许可证

Ree*_*ala 44 android android-sdk-tools android-studio

我在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.
Run Code Online (Sandbox Code Playgroud)

当我运行./sdkmanager --licenses

 All SDK package licenses accepted.======] 100% Computing updates...             
Run Code Online (Sandbox Code Playgroud)

使用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
Run Code Online (Sandbox Code Playgroud)

额外的错误日志

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.
Run Code Online (Sandbox Code Playgroud)

当我的sdk位置是其他时,我不知道它正在检查许可证

geo*_*ano 146

Android Studio 中,转到Tools -> SDK Manager

转到SDK 工具选项卡。

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

在此处输入图片说明

Windows 上,您可以在以下位置找到 sdkmanager.bat

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

在此处输入图片说明

  • 该解决方案适用于 Ubuntu V20.04 (7认同)
  • 这也是我在 OS X 中的工作方式。sdkmanager 终端选项不起作用。 (6认同)
  • 适用于 Windows 10。 (4认同)

Fel*_*Too 62

您需要在构建之前接受许可。

根据Android SDK文档,您可以根据sdkmanager的位置使用以下命令:--licenses似乎缺少Docs on 选项。

yes | sdkmanager --licenses
Run Code Online (Sandbox Code Playgroud)

Ubuntu的: yes | ~/Android/Sdk/tools/bin/sdkmanager --licenses

苹果系统 : yes | sudo ~/Library/Android/sdk/tools/bin/sdkmanager --licenses

视窗: %ANDROID_HOME%/tools/bin/sdkmanager --licenses

  • @HendraWD如果您在计算机中安装了额外的Java(注意:Android Studio有它自己的Java),您应该确保它们具有相同的版本。否则可能会出现这个错误。我刚才通过将“Android Studio/jre”路径设置为JAVA_HOME解决了这个问题。 (15认同)
  • 对于没有安装 Java 的 Mac,我必须 `export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home`、`cd ~/Library/Android/sdk/tools/bin`、` ./sdkmanager --许可证`。 (12认同)
  • 我在线程“主要” java.lang.NoClassDefFoundError中得到此错误`异常:javax / xml / bind / annotation / XmlSchema` (10认同)
  • @HendraWD 这个答案修复了 Xml 错误的问题:/sf/answers/4774757431/ (5认同)
  • FWIW:似乎只支持 JDK &lt; 11,有趣的是,Ubuntu 18.04 附带“openjdk 11”作为默认 jdk。在确保我使用的是受支持的 java 版本后,我收到了“错误:无法创建 Java 虚拟机”,并且我发现我必须使用 sudo 调用“sdkmanager”。 (3认同)
  • 对于新手来说,%ANDROID_HOME%表示sdk安装路径 (3认同)

小智 55

如果您正在使用 Flutter,那么此命令绝对适合您。

flutter doctor --android-licenses
Run Code Online (Sandbox Code Playgroud)

  • 它不起作用。不确定的时候不要说肯定。 (3认同)

小智 33

macOS Catalina

第 1 步:更改 Android Studio 首选项

  1. 打开你的 Android Studio
  2. Command+,或转到左上角 AppBar Android Studio > Preferences
  3. 从左窗格中,选择外观 > 系统设置 > Android SDK
  4. 选择SDK平台旁边和Android SDK 位置下的SDK 工具
  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


Ham*_* XD 30

您可以通过转到 SDK 管理器(设置 > [搜索 Android SDK])来接受所述 SDK 的许可协议,然后找到错误消息中指出的包并在那里找到它们。您可能会发现未完全安装的 SDK,安装它们时会要求您接受许可协议。在此处输入图片说明

  • 感谢这一点,能够在 AS 中接受许可证比在命令行中乱搞更有意义。发挥了魅力,应该在顶部。 (2认同)
  • 对我来说,SDK 也需要更新,但为了让我的应用程序最终编译,我还需要安装 Android-SDK-Command-Line-Tools。 (2认同)

Dam*_*rcy 19

问题:不接受 SDK 许可

在此处输入图片说明

第 1 步:打开 SDK 管理器

打开SDK管理器后,打开SDK工具选项卡如下图

在此处输入图片说明

第 2 步:检查选项 Show Package Details

它会列出所有版本的 SDK 工具

在此处输入图片说明

第三步:安装需要的SDK工具版本

从列表中检查抱怨的 SDK 工具的特定版本(对我来说,它是 29.0.3,如上面第一个屏幕截图所示),在接下来打开的对话框中接受协议,你就完成了。


Mas*_*sum 17

在Windows OS中,转到您的sdkmanager路径,然后执行

./sdkmanager.bat --licenses
Run Code Online (Sandbox Code Playgroud)

您可以在以下位置找到您的sdkmanager C:\Users\USER\AppData\Local\Android\Sdk\tools\bin

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

在此处输入图片说明

  • 我尝试了此操作,但由于 XmlSchema 的某种原因,出现了 Java classdefnotfound 错误。 (6认同)

小智 14

对于Android Studio Arctic Fox ,我通过安装Google Play 许可库解决了这个问题。

  1. 转到首选项
  2. 扩张Appearance & Behavior
  3. 然后展开System Settings
  4. 选择Android SDK并转到SDK Tools选项卡
  5. 安装Google Play 许可库

在此输入图像描述


Mar*_*ler 10

android-28build-toolsat版本一起使用28.0.3;或build-tools版本26.0.3

或尝试以下方法: yes | sudo sdkmanager --licenses

  • 在 Windows 上,您只需运行 `sdkmanager.bat --licenses` 并为所有问题键入 `y`。 (2认同)

小智 10

如果您在使用 Flutter 时遇到此错误,请在命令提示符下运行以下命令。

flutter doctor --android-licenses
Run Code Online (Sandbox Code Playgroud)

如果运行上述命令后出现以下错误

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)
Run Code Online (Sandbox Code Playgroud)

那么请执行以下步骤

  1. 打开安卓工作室
  2. 转到 SDK 管理器
  3. 单击 SDK 工具选项卡
  4. 安装 Android SDK 命令行工具
  5. flutter doctor --android-licenses再次运行


s.d*_*gos 10

在 Android Studio 中,转到:工具 > SDK 管理器 > SDK 工具

在右下角,选中“显示包详细信息”框并下载您需要的 sdk 版本:

Android Studio SDK 工具


小智 9

对于Windows,我为platform;android-28错误运行了以下命令

C:\Android\sdk\tools\bin> .\sdkmanager.bat "platforms;android-28"
Run Code Online (Sandbox Code Playgroud)

然后同意许可


Ang*_*des 7

这对我有用:

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"
Run Code Online (Sandbox Code Playgroud)

参考: https: //github.com/square/RxIdler/pull/18/files


小智 6

在 Windows 操作系统中,转到 cmd 中的 sdkmanager 路径目录

您可以在 C:\Users\USER\AppData\Local\Android\Sdk\tools\bin 中找到您的 sdkmanager

然后执行以下命令:

sdkmanager --licenses

之后它会多次要求接受许可协议,然后通过在 cmd 上输入y来接受所有


小智 6

在 Android Studio 上试过这个,它对我有用:

工具 > SDK 管理器(确保选中下面的显示包)

SDK 平台 > 显示包 > Android - 28 SDK 平台 > 显示包 > Android - 28

SDK 工具 > 显示包 > 28.0.3 SDK 工具 > 显示包 > 28.0.3


小智 5

Ubuntu上,使用建议的答案仍然无法工作。

这对我有用:

cdfull-path-to-bin文件夹,所在sdkmanager位置。

yes | ./sdkmanager --licenses --sdk_root="full-path-to-bin"
Run Code Online (Sandbox Code Playgroud)

在它显示的选项中,--help我们可以将通用参数传递给它,它最终接受了所有许可证:

Usage:
...
sdkmanager --licenses [<common args>]
...
Common Arguments:
    --sdk_root=<sdkRootPath>: Use the specified SDK root instead of the SDK containing this tool
Run Code Online (Sandbox Code Playgroud)