【问题标题】:Gradle, You have not accepted license agreements (Android SDK)Gradle,您尚未接受许可协议(Android SDK)
【发布时间】:2019-04-24 11:23:54
【问题描述】:

是的,我知道有很多关于这个主题的帖子,但我尝试过的都没有。

我正在从命令行而不是 Android Studio 和 Windows 上运行 Gradle。

我刚刚删除了我之前的Android SDK文件夹,下载了最新的Android SDK,并安装到C:\android-sdk

跑:

sdkmanager "platform-tools" "build-tools;28.0.3"    "platforms;android-26" "platforms;android-28"

然后跑:

sdkmanager --licenses 

并接受所有许可, 它的回应是:接受所有 SDK 包许可证

然后我运行:

C:\Dev>SET ANDROID_HOME=C:/android-sdk&&SET PATH=C:/gradle-4.0/bin;%PATH%&&SET JAVA_HOME=C:/Program Files/Java/jdk1.8.0_31&&cd C:/Android/dev/ProgramName&&gradle clean

并得到这个错误:

> You have not accepted the license agreements of the following SDK components:
[Android SDK Build-Tools 28.0.3, Android SDK Platform 28].
Before building your project, you need to accept the license agreements and complete the installation of the missing components using the Android Studio SDK Manager.

ANDROID_HOME 设置为 SDK 目录。 我尝试使用不同的 Gradle 版本进行构建。 删除 licenses 目录并重新运行 'sdkmanager --licenses'

大多数现有的“解决方案”已经有好几年了 很多都是用于 Linux 命令行的。

由于这似乎是在 Gradle 构建中发生的,是否有任何 Gradle 选项可能有所帮助?

我确实安装了多个 Android SDK, C:\Program Files\android-sdk-windows 中的另一个, 但 ANDROID_HOME 设置为 SDK 目录 我正在尝试使用。

我以前遇到过这个问题并且能够解决它,但我不记得我做了什么,而且似乎与较新的平台有关;android-28。

更新:

这很重要的一个原因是 Play 商店需要 到 8 月应用程序的目标 API 为 28,这就是我为什么 尝试进行此构建。

刚刚试过这个,在“build-tools;28.0.3”和“platforms;android-28”上做了--uninstall,只留下了platforms;android-26, 并安装了“build-tools;28.0.2”,重新做了 sdkmanager --licenses 现在它只得到错误:

> You have not accepted the license agreements of the following SDK components:
  [Android SDK Build-Tools 28.0.2].

谢谢!

【问题讨论】:

    标签: android gradle


    【解决方案1】:

    您应该接受许可协议。

    1. $ANDROID_HOME/tools/bin 找到 SDK 管理器。
    2. 运行 sdkmanager:sdkmanager --licenses 在 Windows 上,./sdkmanager --licenses 在 Linux 上。
    3. 接受您需要的许可证。

    【讨论】:

      猜你喜欢
      • 2018-01-03
      • 1970-01-01
      • 2018-04-30
      • 2017-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-14
      • 2017-03-16
      相关资源
      最近更新 更多