【问题标题】:Android-Jenkins: failed to find Build Tools revision 17.0.0 On Jenkins Build ServerAndroid-Jenkins:在 Jenkins 构建服务器上找不到构建工具修订版 17.0.0
【发布时间】:2013-10-25 22:17:21
【问题描述】:

我正在尝试使用 Jenkins 上的 Android 模拟器来构建和测试我的项目。但是在运行我的 gradle 任务时出现以下错误;

未能找到构建工具修订版 17.0.0

我正在运行的 gradle 任务是;

./gradlew clean connectedCheck

在我的 gradle 构建文件中,我有以下配置

android {
  compileSdkVersion 17
  buildToolsVersion "17.0.0"

  defaultConfig {
    minSdkVersion 7
    targetSdkVersion 17
  }
}

构建服务器是一个无头 Ubuntu 实例(大约 12 个)。我的第一个想法是我没有安装正确的构建工具,所以我查看了我的 android-sdk/build-tools 目录。我只能看到一个名为 18.1.1 的目录。所以我想如果我更新我的 android sdk 它会下载 17.0.0 版本。所以我运行了以下命令:

android update sdk --no-ui

它似乎下载了很多东西,但再次查看构建工具目录我仍然只看到版本 18.1.1。

所以问题是:

1) 我是否正确地假设构建失败是因为我的 android sdk 目录中没有正确的构建工具版本? (/android-sdk/build-tools)

2) 如何更新无头服务器上的构建工具,以便拥有 17.0.0 版本?

如果您需要我提供更多信息,请告诉我。

提前感谢您的帮助。

【问题讨论】:

  • 尝试在您的 gradle 构建文件中使用 buildToolsVersion "18.1.1"

标签: android jenkins continuous-integration ci-server


【解决方案1】:

默认情况下,android update sdk(或android list sdk --extended)仅列出不被视为已弃用的软件包。

由于 Build Tools 17.0.0 是一个比较老的版本,默认不会显示。

使用-a (--all) 标志运行将获得旧版本,例如:
android update sdk -u -a -t build-tools-17.0.0


在未来某个时候,Jenkins 插件应该会根据您的 build.gradle 文件自动为您安装正确的构建工具。


编辑(2015 年 11 月):此功能可能不会添加到 Android Emulator 插件中。

现在我建议使用 android-sdk-manager Gradle 插件,它可以自动安装 Jenkins 构建的所有先决条件,包括 Android SDK、工具、构建工具、平台、支持库等。

这可以很容易地集成到您的项目中,并且无需在您的 Jenkins 构建机器上保持最新的 Android SDK 安装。

【讨论】:

  • -u 和 -t 选项是什么意思?
  • @GabrielJiva 你可以用android update sdk --help检查:-u在没有任何GUI的命令行上执行更新; -t 过滤要安装的包。在这种情况下,只会安装 build-tools 组件,而不是所有可用的组件。
【解决方案2】:

其他方法是使用附加到 Jenkins 的 Android SDK 管理器手动更新缺少的版本(查找配置:ANDROID_SDK,然后在其下访问“tools/android.sh”)

【讨论】:

    猜你喜欢
    • 2015-12-15
    • 1970-01-01
    • 1970-01-01
    • 2013-12-10
    • 2021-07-31
    • 2020-12-22
    • 2016-08-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多