因为gradle android插件2.2-alpha4:

Gradle会尝试下载项目中缺失的SDK包 取决于

这非常酷,是杰克·沃顿的一个项目。

但是,要下载SDK库,你需要:接受许可协议,否则gradle会告诉你:

您还没有接受以下SDK的许可协议 组件:[Android SDK Build-Tools 24, Android SDK Platform 24]。 在构建项目之前,您需要接受许可证 协议并完成缺少组件的安装 使用Android Studio SDK管理器。或者,学习如何 将许可证协议从一个工作站转移到另一个工作站,转到 http://d.android.com/r/studio-ui/export-licenses.html

这是一个问题,因为我想在做gradle构建时安装所有的sdk依赖。

我正在寻找一个解决方案,自动接受所有的许可证。也许是一个gradle脚本? 你有什么想法吗?


当前回答

我去了工具-> SDK管理器-> SDK工具。然后我安装了谷歌播放授权库。这就解决了问题。

其他回答

对于最新的Android Studio(2.3),更新/接受所有许可证的最佳方法是运行:

cd $ANDROID_HOME
tools/bin/sdkmanager --licenses

您可能仍然需要根据您的设置将许可证文件复制到其他位置。

对于新的sdkmanager实用程序:

是| $ANDROID_HOME/tools/bin/sdkmanager "build-tools;24.0.3"

在“是”和“是”之间有一点延迟,因此命令可以挂起,许可证显示一段时间,但它不需要人工干预。

WINDOWS的解决方案

打开终端Windows电源外壳 进入Android SDK文件夹

通常这个文件夹可以在C:\Users(your-windows-user)\AppData\Local\Android\Sdk\tools\bin中找到

从“....”开始“\Sdk”文件夹进入“\tools\bin”

最后路径C:\Users(your-windows-user)\AppData\Local\Android\Sdk\tools\bin

使用ls命令验证sdkmanager.bat已经就位 执行下一个命令 然后终端会显示7个文件,你需要在每个文件中输入yes

如果MacOS上没有“tools”文件夹,那么您可以执行以下操作-

在Android Studio中使用command+shift+A打开动作(快捷方式可能不同) 搜索“SDK管理器” 进入“SDK工具” 勾选“Android SDK平台工具”,单击“应用”。

现在应该出现工具文件夹。

下面是我的Docker设置。 您可以在普通的Linux环境中进行操作。

注意:yes |和——licenses——sdk_root=${ANDROID_HOME}子句。 似乎sdkmanager -update恢复了协议,所以是的|出现了两次。

FROM openjdk:8
# Install dev-essential(gnumake)
RUN apt update
RUN apt install -y build-essential
# Set ENV
ENV SDK_URL="https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip" \
    ANDROID_HOME="/usr/local/android-sdk" \
    ANDROID_VERSION=28 \
    ANDROID_BUILD_TOOLS_VERSION=28.0.3 \
    GRADLE_VERSION=4.10.3 \
    NDK_VERSION=r16b
# Download Android SDK
RUN mkdir "$ANDROID_HOME" .android \
    && cd "$ANDROID_HOME" \
    && curl -o sdk.zip $SDK_URL \
    && unzip sdk.zip \
    && rm sdk.zip \
    && yes | $ANDROID_HOME/tools/bin/sdkmanager --licenses --sdk_root=${ANDROID_HOME}
# Install Android Build Tool and Libraries
RUN $ANDROID_HOME/tools/bin/sdkmanager --update
RUN yes | $ANDROID_HOME/tools/bin/sdkmanager "build-tools;${ANDROID_BUILD_TOOLS_VERSION}" \
    "platforms;android-${ANDROID_VERSION}" \
    "platform-tools" --sdk_root=${ANDROID_HOME}
# Install Gradle
RUN wget https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip
RUN mkdir /opt/gradle
RUN unzip gradle-${GRADLE_VERSION}-all.zip -d /opt/gradle
ENV PATH=${PATH}:/opt/gradle/gradle-${GRADLE_VERSION}/bin
# Install NDK
RUN wget https://dl.google.com/android/repository/android-ndk-${NDK_VERSION}-linux-x86_64.zip
RUN mkdir /opt/ndk-bundle
RUN unzip android-ndk-${NDK_VERSION}-linux-x86_64.zip -d /opt/ndk-bundle
ENV PATH=${PATH}:/opt/ndk-bundle

RUN mkdir /application
WORKDIR /application