【问题标题】:Android SDK license issue prevents build of LibGDX project in IntelliJAndroid SDK 许可证问题阻止在 IntelliJ 中构建 LibGDX 项目
【发布时间】:2020-11-15 07:32:15
【问题描述】:

重新安装 Windows 10 后,我拼命想让我的 LibGDX 项目再次在 IntelliJ 中运行。由于 Android SDK 许可问题,它不会构建。

我重新安装了之前在项目中使用的 Android Studio 和 Android SDK 27,但收到以下错误消息:

配置项目 ':android' 时出现问题。 无法安装以下 Android SDK 包,因为某些许可证尚未被接受。 平台工具 Android SDK 平台工具 patcher;v4 SDK 补丁应用程序 v4 平台;android-27 Android SDK 平台 27 构建工具;27.0.3 Android SDK 构建工具 27.0.3 模拟器 Android 模拟器 工具 Android SDK 工具


我发现以下线程有很多建议的修复:

"Failed to install the following Android SDK packages as some licences have not been accepted" error

所以我知道我必须跑步

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

起初它不起作用,因为文件 /users/MYUSERNAME/.android/repositories.cfg 丢失了。我在该路径创建了一个空文件,再次运行sdkmanager 并接受了所有许可证。但是,在 IntelliJ 中构建我的 LibGDX 项目时,我仍然遇到同样的错误。


这是我尝试解决此问题的方法:

  • 以管理员权限运行 sdkmanager --licenses
  • 运行sdkmanager --update 而不是--licenses
  • 安装了 Android 命令行工具并改用了 sdkmanager 批处理文件
  • 确保%ANDROID_HOME%\licenses 文件夹存在并包含许可证文件
  • 确保我的机器上没有安装另一个我不知道的 Android SDK - ANDROID_HOMEANDROID_SDK_ROOT(我读到前者已过时)环境变量指向同一个文件夹在 Android Studio SDK 管理器中配置为 Android SDK 位置,在我的 IntelliJ 项目设置中配置为 Android SDK 主路径
  • 选择了Android Studio自带的JRE作为我机器上的标准Java运行环境(通过将JAVA_HOME设置为C:\Program Files\Android\Android Studio\jre
  • 卸载了随 Android Studio 自动安装的 API 30 SDK,所以我只剩下 API 27
  • 尝试使用 API 30 SDK 而不是 API 27,方法是在我的 LibGDX 项目的 android\build.gradle 文件中配置它
  • 卸载 Android Studio,删除 SDK 文件夹并重新安装所有内容
  • 已将yes | sdkmanager --licenses 添加到我的gradlew.bat

这些似乎都没有帮助。当我再次运行sdkmanager --licenses 时,响应是

接受所有 SDK 包许可。

但 IntelliJ 一直说相反。

我不知道如何解决这个问题。任何帮助将不胜感激。

【问题讨论】:

  • 您使用 IntelliJ IDEA 还是 Android Studio 来开发应用程序?如果您通过 IntelliJ IDEA 向导create an empty Android project 是否有效?您在 Android SDK 设置中看到了什么 "Android SDK Location" 路径?
  • 正如我在标题中所写,我正在使用 IntelliJ 来处理我的 LibGDX 项目。我只安装了 Android Studio,因为我必须让 Android SDK 运行。我的 Android SDK 位置是C:\Tools\Android,这是包含build_toolsemulatorlicenses 等的目录。我尝试创建一个空的 Android 项目(顺便说一下,您的链接已损坏),但它不会构建因为我的 Gradle 版本(4.10.2)似乎已经过时了。但是,LibGDX 似乎不支持 4.X 以上的 Gradle,所以必须有办法让它与 Android SDK 一起运行...

标签: java android android-studio intellij-idea libgdx


【解决方案1】:

问题很可能是由于过时的 Gradle 版本与其他一些依赖项(可能是 Android SDK)不兼容。我通过将我的项目迁移到最新的 LibGDX 版本 (1.9.11) 解决了这个问题。

我的游戏无法使用 gradle/wrapper/gradle-wrapper.properties(版本 5.4.1)中配置的 Gradle 包装器运行,因为我收到了另一条错误消息(“无法打开 cp_init 重新映射的类缓存”),所以我切换到最新的 Gradle 版本,本地安装(6.5.1):Settings -> Build, Execution, Deployment -> Build Tools -> Gradle -> Use Gradle from: Specified location

我还将Android API 从30 下载到29,因为这是推荐用于LibGDX 1.9.11 的版本。但是,我不必再使用命令行工具来接受许可了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-03
    • 1970-01-01
    • 2013-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多