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

时间:2019-01-20 03:47:32

标签: android android-studio android-sdk-tools

我在jitpack中遇到此错误,我已经尝试了Internet上的所有内容。以下是我的错误

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位置不在其他位置时,我不知道它正在那里检查许可证

30 个答案:

答案 0 :(得分:30)

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

转到 SDK工具标签。

选择 Android SDK命令行工具(最新),然后按应用进行下载。

enter image description here

Windows 上,您可以在

上找到sdkmanager.bat。

C:\ Users \ [您的用户] \ AppData \ Local \ Android \ Sdk \ cmdline-tools \ latest \ bin

enter image description here

答案 1 :(得分:20)

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

./sdkmanager.bat --licenses

您可以在C:\Users\USER\AppData\Local\Android\Sdk\tools\bin

中找到您的sdkmanager

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

enter image description here

答案 2 :(得分:18)

您可以转到SDK Manager(设置> [搜索Android SDK]),然后在错误消息中找到指出的软件包并在此处找到它们,以接受所述SDK的许可协议。您可能会发现尚未完全安装的SDK,安装它们会要求您接受许可协议。 enter image description here

答案 3 :(得分:12)

MacOS Catalina

第1步:更改Android Studio首选项

  1. 打开您的Android Studio
  2. Command + 或转到左上方的AppBar Android Studio>首选项
  3. 从左窗格中,选择外观>系统设置> Android SDK
  4. SDK平台旁边的 Android SDK位置
  5. 下选择 SDK工具
  6. 选中 Android SDK命令行工具(最新),然后按确定按钮。
  7. 等待安装完成

Locating Preferences of Android Studio

Android Studio Preferences

第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

答案 4 :(得分:9)

问题:SDK 许可不被接受

enter image description here

第 1 步:打开 SDK 管理器

打开SDK管理器后,打开如下所示的SDK工具标签

enter image description here

第 2 步:选中选项 Show Package Details

会列出所有版本的SDK工具

enter image description here

第 3 步:安装所需的 SDK 工具版本

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

答案 5 :(得分:8)

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

根据AndroidSDK文档,您可以根据sdkmanager的位置使用以下命令:

yes | sdkmanager --licenses

macOS:yes | sudo ~/Library/Android/sdk/tools/bin/sdkmanager --licenses

Windows:%ANDROID_HOME%/tools/bin/sdkmanager --licenses

答案 6 :(得分:8)

如果您在使用 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)

那么请执行以下步骤

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

答案 7 :(得分:5)

如果您正在使用Flutter,那么此命令肯定对您有用。

flutter doctor --android-licenses

答案 8 :(得分:3)

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

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

然后执行followingwing命令:

sdkmanager-许可证

此后,它将多次要求接受许可协议,然后只需在cmd上键入 y 即可接受全部许可

答案 9 :(得分:2)

android-28build-tools一起使用,版本为28.0.3;或版本为build-tools的{​​{1}}。

或尝试以下操作:26.0.3

答案 10 :(得分:2)

如果您使用的是颤振,请执行以下步骤

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

答案 11 :(得分:1)

我如何解决这个问题(AndroidStudio 4.2)

  • 点击 Build 标签
  • 选择Failed to install the following Android SDK packages ...(警告)
  • 点击安装缺少的 SDK 包

答案 12 :(得分:1)

当我尝试在我的 android 设备上的另一个项目中运行应用程序时遇到了同样的问题,我正在使用一些旧版本的 tomcat8,并且不得不设置 JAVA_OPTS 变量和值。所以我删除了 JAVA_OPTS 的这个系统变量,它的变量值设置为 -Xms1024m(删除 JAVA_OPTS 系统变量,但如果您需要恢复使用可能需要它的旧项目,您也可以存储它以备将来使用)。

然后在您的sdk路径中运行SDK管理器bat文件: PS C:\Users[your_pc_username]\AppData\Local\Android\Sdk\tools\bin> .\sdkmanager.bat --licenses

接受所有许可 (Y)。

答案 13 :(得分:1)

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

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

Android Studio Sdk Tools

答案 14 :(得分:1)

https://www.youtube.com/watch?v=g789PvvW4qo 真的帮助了我。所做的是打开 SDK Manager 并下载任何新的 SDK Platform(不要担心它不会影响您想要的 api 级别)。

因为下载任何 SDK 平台(API 级别),您应该接受许可。这就是对我有用的技巧。

答案 15 :(得分:1)

我尝试了许多解决方案,但对我没有用。 以下解决方案对我有用。

在android SDK中找到sdkmanager文件。

就我而言: 〜/ Android / Sdk / tools / bin

转到该路径:cd ~/Android/Sdk/tools/bin

手动接受许可证:./sdkmanager --licenses 输入是或y

答案 16 :(得分:1)

我刚完成文件->使缓存无效并重新启动 然后安装缺少的软件包。 为我工作。

答案 17 :(得分:1)

要添加答案,您还可以更改到sdkmanager目录,并在子外壳中并在那里接受许可证

(
    cd /home/user/android-sdk-linux/tools/bin
    yes | ./sdkmanager --licenses
)

答案 18 :(得分:1)

this is the command

我使用了以下内容:

  • 设置sdk的路由> AppData \ Local \ Android \ Sdk \ tools \ bin>
  • 运行。\ sdkmanager.bat-许可证

答案 19 :(得分:1)

我注意到在Windows中,必须以管理员身份打开您的控制台。否则,它不会认为您已接受许可证。

答案 20 :(得分:1)

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

C:\Android\sdk\tools\bin> .\sdkmanager.bat "platforms;android-28"

然后同意许可

答案 21 :(得分:0)

在Android Studio上进行了尝试,对我有用:

工具> SDK管理器(请务必选中下面的显示软件包)

SDK平台>显示软件包> Android-28 SDK Platforms > Show Packages > Android - 28

SDK工具>显示软件包> 28.0.3 SDK Tools > Show Packages > 28.0.3

答案 22 :(得分:0)

在Mac OS 10.15.1上,即使通过运行sdkmanager --licenses接受了所有许可证,我仍然遇到相同的错误,但我将〜/ .bash_profile中的ANDROID_HOME路径配置更新为以下内容后仍然有效

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 

答案 23 :(得分:0)

在Windows上:

  1. 添加USER环境变量:

注意:路径应添加

JAVA_HOME           %ProgramFiles%\Android\Android Studio\jre
ANDROID_SDK_ROOT    %LocalAppData%\Android\Sdk
Path                %LocalAppData%\Android\Sdk
  1. 运行以下命令以接受许可证:

注意:接受所有许可证(例如y

%ANDROID_SDK_ROOT%/tools/bin/sdkmanager.bat --licenses
  1. 现在运行您的应用程序:

(如下所示,或其他失败的命令):

cd \myapp\
react-native run-android

答案 24 :(得分:0)

就我而言,在应用程序级别build.gradle中更新 buildToolsVersion 的效果很好。如果您不知道使用哪个,则可以创建一个新项目,然后将buildToolsVersion从该项目复制到现有项目中。

答案 25 :(得分:0)

就我而言,我只是在新笔记本电脑上安装了新版本的android studio,并在其中克隆了旧存储库 buildToolsVersion "30.0.2"在应用程序级别build.gradle。 我刚刚升级到{strong> android studio推荐的30.0.3,问题就消失了

答案 26 :(得分:0)

就我而言,此问题发生在 flutter 上,因为, 我首先用默认软件包安装了android studio,然后安装了flutter。您可以在这里注意到一件事,默认android studio无需接受任何许可证,因此要解决此问题,我们需要手动接受所有许可证。

转到sdk>>tools>>bin文件夹,然后执行以下命令以接受所有许可证。

  

。\ sdkmanager.bat-许可证

答案 27 :(得分:0)

这在 Windows 10 中对我有用:

C:
cd \Users\YOUR_USER\AppData\Local\Android\Sdk\cmdline-tools\latest\bin
sdkmanager.bat --licenses

之后,所有人都同意

答案 28 :(得分:0)

这对我有用:

yes | ./sdkmanager "platforms;android-28"

yes | ./sdkmanager "build-tools;28.0.3"

yes | ./sdkmanager --licenses

答案 29 :(得分:0)

目前看来是个错误: 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