首页 > 解决方案 > 由于 jenkins 触发的 aws 实例上未接受某些许可证,因此无法安装以下 Android SDK 包

问题描述

我正在为一个 android 应用程序设置一个新的 Jenkins 版本来运行测试。我已经在 AWS 实例上下载了 android 工具。然后运行以下命令来安装额外的包来安装平台和构建工具。

./android update sdk --no-ui --filter build-tools-28.0.3,android-28,extra-android-m2repository./android update sdk --no-ui --filter build-tools-28.0.3,android-28,extra-android-m2repository

这下载了正确的平台和构建工具。

要构建我运行的应用程序gradlew :app:assembleDebug ,我遇到了以下错误

配置项目 ':app' 时出现问题。

未能安装以下 Android SDK 软件包,因为某些许可证尚未被接受。构建工具;28.0.3 Android SDK 构建工具 28.0.3

我尝试使用以下命令通过 sdkmanager 更新许可证 -

是的 |./sdkmanager --licenses && ./sdkmanager --update

./sdkmanager "build-tools;28.0.3"

然后我遇到了所有 SDK 包许可证都接受了。但是,当我尝试再次构建时,我得到了

未能安装以下 Android SDK 软件包,因为某些许可证尚未被接受。构建工具;28.0.3 Android SDK 构建工具 28.0.3

我还使用 chmod 777 更改了文件夹结构的权限

标签: androidjenkinsgradleamazon-ec2android-gradle-plugin

解决方案


当我构建和 apk 时,我不需要每次都接受许可证,只需在我的 Jenkins 配置之前接受一次。

我通过以下步骤做到了:

  • 转到您的 $ANDROID_HOME/tools/bin
  • 执行:
    ./sdkmanager --licenses

没有“是|”

这将要求您接受或拒绝许可证。您必须接受所有许可。

下次运行构建命令时,许可证不会有问题。

查看此链接以获取 Android 自动构建的完整指南:

https://jrichardsz.github.io/android/how-configure-android-tools-for-automated-builds


推荐阅读