【问题标题】:How to resolve the issue "Failed to install the following Android SDK packages as some licences have not been accepted."?如何解决“无法安装以下 Android SDK 软件包,因为某些许可证尚未被接受。”的问题?
【发布时间】:2021-07-19 04:44:35
【问题描述】:

这是一个非常不必要的问题,但它就是这样。

我想编译并运行几个月前的 react native 应用程序。只需一个命令行脚本调用,它就可以完美运行。

目前卡在这里:

A problem occurred configuring project ':react-native-reanimated'.
> Failed to install the following Android SDK packages as some licenses have not been accepted.
     patcher;v4 SDK Patch Applier v4
     emulator Android Emulator
     tools Android SDK Tools
     platforms;android-28 Android SDK Platform 28
     build-tools;29.0.2 Android SDK Build-Tools 29.0.2
  To build this project, accept the SDK license agreements and install the missing components using the Android Studio SDK Manager.

我环顾四周,发现我必须使用sdkmanager接受它。

我尝试使用 `SDK 管理器接受许可证,但它给了我“Xmlscheme 错误”。

我环顾四周,发现这是由于我的 JDK 太新(版本 15)造成的。所以我将其降级为 JDK 8。

现在sdkmanager 可以启动了,它立即显示:

All SDK package licenses accepted.======] 100% Computing updates...     

现在我再次尝试运行构建脚本,但之前的许可接受错误仍然存​​在。

有些回答说这可能是因为我没有权限更改它,并建议使用 SDK 文件夹上的 chmod 0777 更改它。我已经做到了。重新运行接受许可证。重新运行构建脚本。还是一样。

我该如何解决这个问题? SDK 管理器甚至不显示任何不被接受的许可证。已全部接受。

更新:我运行 ./sdkmanager --licenses --verbose,看起来每次它尝试接受许可证并报告已接受,但如果我再次运行,它会接受相同的许可证。比如...接受结果没有保存。

更新:从这个comment,我试过sdkmanager --licenses --sdk_root=~/Library/Android/sdk,它看起来正在接受许可证(询问是否要接受许可证)。但是在接受许可后,仍然会导致与上述相同的问题。

【问题讨论】:

    标签: java react-native android-sdk-manager


    【解决方案1】:

    如果您现在还没有解决这个问题,这里是解决方案:

    1. 转到 Android Studio 中的设置
    2. 转到 Android SDK
    3. 选择 SDK 工具选项卡
    4. 标记并安装以下软件包:“Android SDK 命令行工具”、“Google Play 许可库”和可选(我不确定是否有必要)“Google Play 服务”

    【讨论】:

    • 我已经解决了。原来我有两种Java,一种是JRE,一种是JDK。因此,每次我接受许可时,接受的结果总是转到 JRE,这就是为什么 JDK 一直抱怨他们还没有接受的原因。经过大量工作卸载 JRE 和 JDK,并安装了新的 JDK 8(由于其他问题),我终于设法做到了。
    • 您的解决方案解决了我的问题,谢谢。
    猜你喜欢
    • 1970-01-01
    • 2019-06-13
    • 2020-07-27
    • 1970-01-01
    • 1970-01-01
    • 2020-03-08
    • 2021-11-04
    相关资源
    最近更新 更多