"Failed to install the following Android SDK packages as some licences have not been accepted" 错误
"Failed to install the following Android SDK packages as some licences have not been accepted" error
我在 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 位置是其他位置时检查许可证
在版本 28.0.3
中将 android-28
与 build-tools
一起使用;或 build-tools
版本 26.0.3
.
或者试试这个:yes | sudo sdkmanager --licenses
目前似乎是一个错误:
https://issuetracker.google.com/issues/123054726
对我有用的解决方案:
在您的项目目录中创建一个 .travis.yml 文件并复制以下行:
before_script:
- mkdir "$ANDROID_HOME/licenses" || true
- echo "24333f8a63b6825ea9c5514f83c2829b004d1fee" > "$ANDROID_HOME/licenses/android-sdk-license"
您需要在构建前接受许可。
根据 Android SDK docs,您可以根据 sdkmanager 位置使用以下命令:--licenses
选项上的文档似乎丢失了。
yes | sdkmanager --licenses
GNU/Linux 分布:
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
Windows:
%ANDROID_HOME%/tools/bin/sdkmanager --licenses
颤振:
> flutter doctor --android-licenses
这对我有用:
yes | ./sdkmanager "platforms;android-28"
yes | ./sdkmanager "build-tools;28.0.3"
yes | ./sdkmanager --licenses
在 Windows OS 进入你的 sdkmanager 路径然后执行
./sdkmanager.bat --licenses
您可以在 C:\Users\USER\AppData\Local\Android\Sdk\tools\bin
中找到您的 sdkmanager
或
对于 os 在 window os 上没有使用 android studio 的人。转到 cmdline-tools\tool\bin 并在目录框中键入 cmd 以在终端中打开目录。然后 运行 sdkmanager --licenses
要找到您的实际 android SDK 路径,请遵循下图的红色标记区域
如果您正在使用 Flutter,那么此命令绝对适合您。
flutter doctor --android-licenses
在 Mac OS 10.15.1 上,即使在 运行 sdkmanager --licenses
接受了所有许可后,我也遇到了同样的错误。它在我更新 ANDROID_HOME路径配置在~/.bash_profile到下面
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
要添加到答案中,您还可以切换到 sdkmanager 目录和子目录 shell 并在那里接受许可
(
cd /home/user/android-sdk-linux/tools/bin
yes | ./sdkmanager --licenses
)
我刚刚完成文件 -> 使缓存无效并重新启动
然后安装缺少的包。
为我工作。
您可以通过转到 SDK 管理器(设置 > [搜索 Android SDK])接受所述 SDK 的许可协议,然后找到错误消息中指出的包并在那里找到它们。很有可能,您会发现未完全安装的 SDK,安装它们时会要求您接受许可协议。
MacOS 卡特琳娜
第 1 步:更改 Android Studio 首选项
- 打开您的 Android Studio
- 按 Command+, 或转到左上角的 AppBar Android Studio > 首选项。
- 从左窗格,select 外观 > 系统设置 > Android SDK
- Select SDK 工具 在 SDK 平台 旁边和 Android SDK 位置下
- 勾选标记 Android SDK 命令行工具(最新) 并按 确定 按钮。
- 等待安装完成
第 2 步(对于 Flutter 用户):
- 转到终端并运行以下命令
flutter doctor --android-licenses
第 2 步(对于 Android 用户):
- 转到终端并运行以下命令
export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home
yes | ~/Library/Android/sdk/tools/bin/sdkmanager --licenses
在 Android Studio 中转到 工具 -> SDK 管理器。
转到 SDK 工具 选项卡。
Select Android SDK 命令行工具(最新) 并按 应用 下载。
在 Windows,您可以在
找到 sdkmanager.bat
C:\Users\[your_user]\AppData\Local\Android\Sdk\cmdline-tools\latest\bin
我尝试了很多解决方案,但都不适合我。
以下解决方案适用于我。
在 android SDK 中找到 sdkmanager 文件。
以我为例:
~/Android/Sdk/tools/bin
走那条路:cd ~/Android/Sdk/tools/bin
手动接受许可:./sdkmanager --licenses
输入是或 y
in Windows OS 在cmd中进入你的sdkmanager路径目录
您可以在 C:\Users\USER\AppData\Local\Android\Sdk\tools\bin
中找到您的 sdkmanager
然后执行以下命令:
sdkmanager --licenses
之后它会多次要求接受许可协议,然后只需在 cmd
上输入 y 即可全部接受
在 Android Studio 上试过了,它对我有用:
工具 > SDK 管理器(确保选中下面的显示包)
SDK 平台 > 显示包 > Android - 28
SDK 工具 > 显示包 > 28.0.3
如果您使用的是 flutter,请执行以下步骤
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
在 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
在我的例子中,在应用级别 build.gradle 中更新 buildToolsVersion 效果很好。如果您不知道使用哪个,您可以创建新项目并将 buildToolsVersion 从该项目复制到现有项目中。
就我而言,我只是在一台新笔记本电脑上安装了新版本的 android studio 并克隆了旧存储库,其中
buildToolsVersion "30.0.2"
在应用程序级别 build.gradle。
我刚刚升级到 30.0.3
android studio 推荐的 并且问题消失了
如果您在使用 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)
然后请执行以下步骤
- 打开android工作室
- 转到 SDK 管理器
- 单击 SDK 工具选项卡
- 安装AndroidSDK命令行工具
- 运行
flutter doctor --android-licenses
再一次
这对我在 Windows 10:
有效
C:
cd \Users\YOUR_USER\AppData\Local\Android\Sdk\cmdline-tools\latest\bin
sdkmanager.bat --licenses
之后,全部同意
https://www.youtube.com/watch?v=g789PvvW4qo 真的帮了我大忙。所做的是打开 SDK 管理器并下载任何新的 SDK 平台(不用担心它不会影响您想要的 api 级别)。
因为下载任何 SDK 平台(API 级别),您应该接受许可证。这就是对我有用的技巧。
在 Android Studio 中转到:工具 > SDK 管理器 > SDK 工具
在右下角,勾选“显示包详细信息”框并下载您需要的 sdk 版本:
问题:未接受 SDK 许可
第 1 步:打开 SDK 管理器
打开SDK管理器后,打开SDK工具选项卡,如下图
第 2 步:勾选选项 Show Package Details
会列出SDK工具的所有版本
第三步:安装需要的SDK工具版本
从列表中检查出现问题的 SDK 工具的具体版本(对我来说,是 29.0.3,如上图第一个屏幕截图所示),在接下来打开的对话框中接受协议,您就完成了.
我在另一个项目中尝试 运行 我的 android 设备上的应用程序时遇到了同样的问题,我正在使用一些旧版本的 tomcat8 并且必须设置 JAVA_OPTS 变量和值。所以我为 JAVA_OPTS 删除了这个系统变量,它的变量值设置为 -Xms1024m(删除 JAVA_OPTS 系统变量,但如果您需要恢复使用您的系统变量,也可以存储它以供将来使用可能需要它的旧项目)。
然后运行你的sdk路径下的SDK管理器bat文件:
PS C:\Users[[=21=]]\AppData\Local\Android\Sdk\tools\bin> .\sdkmanager.bat --licenses
接受所有许可(Y)。
我是怎么解决这个问题的(AndroidStudio 4.2)
- 单击
Build
选项卡
- Select
Failed to install the following Android SDK packages ...
(警告)
- 单击安装缺少的 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
对于 Android Studio Arctic Fox,我通过安装 Google Play 许可库 解决了这个问题].
- 转到首选项
- 展开
Appearance & Behavior
- 然后展开
System Settings
- Select
Android SDK
并转到 SDK Tools
选项卡
- 安装Google Play 许可库
在 Ubuntu 上,使用建议的答案仍然无效。
这对我有用:
cd full-path-to-bin
文件夹,sdkmanager
所在的文件夹。
yes | ./sdkmanager --licenses --sdk_root="full-path-to-bin"
在选项 --help
中,它表明我们可以将通用参数传递给它,它最终接受了所有许可:
Usage:
...
sdkmanager --licenses [<common args>]
...
Common Arguments:
--sdk_root=<sdkRootPath>: Use the specified SDK root instead of the SDK containing this tool
我移动了我的 Sdks 和 Avds 文件夹,因为它占用了本地磁盘 c 中的大量内存,但之后我遇到了上述问题。
对我无效Caches/Restart解决问题
文件->无效Caches/Restart
只需访问 Build.gradle(模块 Appname.app)
在这里,找到“buildToolsVersion”并将版本更改为“32.0.0”
我在 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 位置是其他位置时检查许可证
在版本 28.0.3
中将 android-28
与 build-tools
一起使用;或 build-tools
版本 26.0.3
.
或者试试这个:yes | sudo sdkmanager --licenses
目前似乎是一个错误: https://issuetracker.google.com/issues/123054726
对我有用的解决方案:
在您的项目目录中创建一个 .travis.yml 文件并复制以下行:
before_script:
- mkdir "$ANDROID_HOME/licenses" || true
- echo "24333f8a63b6825ea9c5514f83c2829b004d1fee" > "$ANDROID_HOME/licenses/android-sdk-license"
您需要在构建前接受许可。
根据 Android SDK docs,您可以根据 sdkmanager 位置使用以下命令:--licenses
选项上的文档似乎丢失了。
yes | sdkmanager --licenses
GNU/Linux 分布:
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
Windows:
%ANDROID_HOME%/tools/bin/sdkmanager --licenses
颤振:
> flutter doctor --android-licenses
这对我有用:
yes | ./sdkmanager "platforms;android-28"
yes | ./sdkmanager "build-tools;28.0.3"
yes | ./sdkmanager --licenses
在 Windows OS 进入你的 sdkmanager 路径然后执行
./sdkmanager.bat --licenses
您可以在 C:\Users\USER\AppData\Local\Android\Sdk\tools\bin
或
对于 os 在 window os 上没有使用 android studio 的人。转到 cmdline-tools\tool\bin 并在目录框中键入 cmd 以在终端中打开目录。然后 运行 sdkmanager --licenses
要找到您的实际 android SDK 路径,请遵循下图的红色标记区域
如果您正在使用 Flutter,那么此命令绝对适合您。
flutter doctor --android-licenses
在 Mac OS 10.15.1 上,即使在 运行 sdkmanager --licenses
接受了所有许可后,我也遇到了同样的错误。它在我更新 ANDROID_HOME路径配置在~/.bash_profile到下面
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
要添加到答案中,您还可以切换到 sdkmanager 目录和子目录 shell 并在那里接受许可
(
cd /home/user/android-sdk-linux/tools/bin
yes | ./sdkmanager --licenses
)
我刚刚完成文件 -> 使缓存无效并重新启动 然后安装缺少的包。 为我工作。
您可以通过转到 SDK 管理器(设置 > [搜索 Android SDK])接受所述 SDK 的许可协议,然后找到错误消息中指出的包并在那里找到它们。很有可能,您会发现未完全安装的 SDK,安装它们时会要求您接受许可协议。
MacOS 卡特琳娜
第 1 步:更改 Android Studio 首选项
- 打开您的 Android Studio
- 按 Command+, 或转到左上角的 AppBar Android Studio > 首选项。
- 从左窗格,select 外观 > 系统设置 > Android SDK
- Select SDK 工具 在 SDK 平台 旁边和 Android SDK 位置下
- 勾选标记 Android SDK 命令行工具(最新) 并按 确定 按钮。
- 等待安装完成
第 2 步(对于 Flutter 用户):
- 转到终端并运行以下命令
flutter doctor --android-licenses
第 2 步(对于 Android 用户):
- 转到终端并运行以下命令
export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home
yes | ~/Library/Android/sdk/tools/bin/sdkmanager --licenses
在 Android Studio 中转到 工具 -> SDK 管理器。
转到 SDK 工具 选项卡。
Select Android SDK 命令行工具(最新) 并按 应用 下载。
在 Windows,您可以在
找到 sdkmanager.batC:\Users\[your_user]\AppData\Local\Android\Sdk\cmdline-tools\latest\bin
我尝试了很多解决方案,但都不适合我。 以下解决方案适用于我。
在 android SDK 中找到 sdkmanager 文件。
以我为例: ~/Android/Sdk/tools/bin
走那条路:cd ~/Android/Sdk/tools/bin
手动接受许可:./sdkmanager --licenses
输入是或 y
in Windows OS 在cmd中进入你的sdkmanager路径目录
您可以在 C:\Users\USER\AppData\Local\Android\Sdk\tools\bin
中找到您的 sdkmanager然后执行以下命令:
sdkmanager --licenses
之后它会多次要求接受许可协议,然后只需在 cmd
上输入 y 即可全部接受在 Android Studio 上试过了,它对我有用:
工具 > SDK 管理器(确保选中下面的显示包)
SDK 平台 > 显示包 > Android - 28
SDK 工具 > 显示包 > 28.0.3
如果您使用的是 flutter,请执行以下步骤
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
在 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
在我的例子中,在应用级别 build.gradle 中更新 buildToolsVersion 效果很好。如果您不知道使用哪个,您可以创建新项目并将 buildToolsVersion 从该项目复制到现有项目中。
就我而言,我只是在一台新笔记本电脑上安装了新版本的 android studio 并克隆了旧存储库,其中
buildToolsVersion "30.0.2"
在应用程序级别 build.gradle。
我刚刚升级到 30.0.3
android studio 推荐的 并且问题消失了
如果您在使用 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)
然后请执行以下步骤
- 打开android工作室
- 转到 SDK 管理器
- 单击 SDK 工具选项卡
- 安装AndroidSDK命令行工具
- 运行
flutter doctor --android-licenses
再一次
这对我在 Windows 10:
有效C:
cd \Users\YOUR_USER\AppData\Local\Android\Sdk\cmdline-tools\latest\bin
sdkmanager.bat --licenses
之后,全部同意
https://www.youtube.com/watch?v=g789PvvW4qo 真的帮了我大忙。所做的是打开 SDK 管理器并下载任何新的 SDK 平台(不用担心它不会影响您想要的 api 级别)。
因为下载任何 SDK 平台(API 级别),您应该接受许可证。这就是对我有用的技巧。
在 Android Studio 中转到:工具 > SDK 管理器 > SDK 工具
在右下角,勾选“显示包详细信息”框并下载您需要的 sdk 版本:
问题:未接受 SDK 许可
第 1 步:打开 SDK 管理器
打开SDK管理器后,打开SDK工具选项卡,如下图
第 2 步:勾选选项 Show Package Details
会列出SDK工具的所有版本
第三步:安装需要的SDK工具版本
从列表中检查出现问题的 SDK 工具的具体版本(对我来说,是 29.0.3,如上图第一个屏幕截图所示),在接下来打开的对话框中接受协议,您就完成了.
我在另一个项目中尝试 运行 我的 android 设备上的应用程序时遇到了同样的问题,我正在使用一些旧版本的 tomcat8 并且必须设置 JAVA_OPTS 变量和值。所以我为 JAVA_OPTS 删除了这个系统变量,它的变量值设置为 -Xms1024m(删除 JAVA_OPTS 系统变量,但如果您需要恢复使用您的系统变量,也可以存储它以供将来使用可能需要它的旧项目)。
然后运行你的sdk路径下的SDK管理器bat文件: PS C:\Users[[=21=]]\AppData\Local\Android\Sdk\tools\bin> .\sdkmanager.bat --licenses
接受所有许可(Y)。
我是怎么解决这个问题的(AndroidStudio 4.2)
- 单击
Build
选项卡 - Select
Failed to install the following Android SDK packages ...
(警告) - 单击安装缺少的 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
对于 Android Studio Arctic Fox,我通过安装 Google Play 许可库 解决了这个问题].
- 转到首选项
- 展开
Appearance & Behavior
- 然后展开
System Settings
- Select
Android SDK
并转到SDK Tools
选项卡 - 安装Google Play 许可库
在 Ubuntu 上,使用建议的答案仍然无效。
这对我有用:
cd full-path-to-bin
文件夹,sdkmanager
所在的文件夹。
yes | ./sdkmanager --licenses --sdk_root="full-path-to-bin"
在选项 --help
中,它表明我们可以将通用参数传递给它,它最终接受了所有许可:
Usage:
...
sdkmanager --licenses [<common args>]
...
Common Arguments:
--sdk_root=<sdkRootPath>: Use the specified SDK root instead of the SDK containing this tool
我移动了我的 Sdks 和 Avds 文件夹,因为它占用了本地磁盘 c 中的大量内存,但之后我遇到了上述问题。
对我无效Caches/Restart解决问题
文件->无效Caches/Restart
只需访问 Build.gradle(模块 Appname.app) 在这里,找到“buildToolsVersion”并将版本更改为“32.0.0”