Android-Jenkins:在Jenkins Build Server上找不到Build Tools修订版17.0.0

时间:2013-10-17 12:14:11

标签: android jenkins continuous-integration ci-server

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

  

未能找到Build Tools修订版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 /构建工具)

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

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

先谢谢你的帮助。

2 个答案:

答案 0 :(得分:18)

默认情况下,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模拟器插件中。

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

这可以非常轻松地集成到您的项目中,并且无需在Jenkins构建计算机上保持Android SDK安装的最新状态。

答案 1 :(得分:0)

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

enter image description here