我在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位置不在其他位置时,我不知道它正在那里检查许可证
答案 0 :(得分:30)
在 Android Studio 中,转到工具-> SDK管理器。
转到 SDK工具标签。
选择 Android SDK命令行工具(最新),然后按应用进行下载。
在 Windows 上,您可以在
上找到sdkmanager.bat。C:\ Users \ [您的用户] \ AppData \ Local \ Android \ Sdk \ cmdline-tools \ latest \ bin
答案 1 :(得分:20)
在Windows操作系统中,转到您的sdkmanager路径,然后执行
./sdkmanager.bat --licenses
您可以在C:\Users\USER\AppData\Local\Android\Sdk\tools\bin
要找到您实际的android SDK路径,请遵循下图的红色标记区域
答案 2 :(得分:18)
您可以转到SDK Manager(设置> [搜索Android SDK]),然后在错误消息中找到指出的软件包并在此处找到它们,以接受所述SDK的许可协议。您可能会发现尚未完全安装的SDK,安装它们会要求您接受许可协议。
答案 3 :(得分:12)
flutter doctor --android-licenses
export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home
yes | ~/Library/Android/sdk/tools/bin/sdkmanager --licenses
答案 4 :(得分:9)
打开SDK管理器后,打开如下所示的SDK工具标签
Show Package Details
会列出所有版本的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)
那么请执行以下步骤
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-28
与build-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 ...
(警告)答案 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)
答案 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)
答案 19 :(得分:1)
我注意到在Windows中,必须以管理员身份打开您的控制台。否则,它不会认为您已接受许可证。
答案 20 :(得分:1)
对于Windows,我为platform;android-28
错误运行了以下内容
C:\Android\sdk\tools\bin> .\sdkmanager.bat "platforms;android-28"
然后同意许可
答案 21 :(得分:0)
答案 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上:
注意:路径应添加
JAVA_HOME %ProgramFiles%\Android\Android Studio\jre
ANDROID_SDK_ROOT %LocalAppData%\Android\Sdk
Path %LocalAppData%\Android\Sdk
注意:接受所有许可证(例如y
)
%ANDROID_SDK_ROOT%/tools/bin/sdkmanager.bat --licenses
(如下所示,或其他失败的命令):
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"