android - 由于jenkins触发的aws实例未接受某些许可证,因此无法安装以下Android SDK软件包

标签 android jenkins gradle amazon-ec2 android-gradle-plugin

我正在为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'时发生问题。

Failed to install the following Android SDK packages as some licences have not been accepted. build-tools;28.0.3 Android SDK Build-Tools 28.0.3



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

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

./sdkmanager "build-tools;28.0.3"
然后我会接受所有接受的SDK软件包许可证。但是,当我尝试再次构建时,我得到了

Failed to install the following Android SDK packages as some licences have not been accepted. build-tools;28.0.3 Android SDK Build-Tools 28.0.3



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

最佳答案

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

我通过以下步骤做到了:

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

    没有“是|”

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

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

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

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

    关于android - 由于jenkins触发的aws实例未接受某些许可证,因此无法安装以下Android SDK软件包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57084756/

    相关文章:

    Android SQLite 数据库(像我五岁一样解释)

    android - Debian Lenny 上的安卓版 Eclipse

    java - Jenkins 的传递依赖管理

    java - 我需要在 Jenkins 中运行什么 Windows 批处理命令才能启动脚本?

    eclipse - Eclipse + Kotlin + Gradle问题: Unresolved reference :println

    gradle - 使用Gradle将环境属性复制到WAR中并动态更新版本属性

    Android:尝试导入一个项目并不断获取无法执行 dex:错误

    android - 是否允许在 Google Play 的 "internal"或 "closed"或 "open testing"期间使用 Admob 真实广告?

    ant - Jenkins 远程参数化构建始终使用默认参数值,而不是传递的参数值

    Eclipse 中的 Gradle 未在 Eclipse IDE 中显示外部依赖项源和 java 文档