【发布时间】:2017-11-15 14:24:16
【问题描述】:
我正在 Jenkins 中的 Windows 构建服务器上准备一个 Android 构建管道。 Jenkins 使用了许多工作空间,并且经常会重复使用它们。我注意到,当 Jenkins 重新使用工作区时,没有任何问题,并且构建完美无缺。但是当它第一次签出一个新的工作空间时,gradle 包装器抱怨它无法安装 Android 构建工具。构建工具(确切版本)已安装。
我可以打开另一个旧工作区并在其中运行 gradle 构建,它运行良好,然后使用相同的登录名和完全相同的cmd 会话,转到新工作区并运行相同的命令,它会抱怨它无法安装 Android 构建工具。
关于 Android 配置的说明:我将 Android SDK 存储在 C:\android-sdk\ 中,并已授予每个用户对该目录的访问权限。 ANDROID_HOME 和 ANDROID_SDK 设置为系统范围的变量。这是最方便的解决方案 - 这样,每个登录的用户(无论是域帐户还是其他)都(理论上)能够立即构建解决方案,而无需设置自己的 SDK,而且我们最终不会得到很多重复的 SDK 数据。
我可以通过在 Android Studio 中打开工作区文件夹来手动解决此问题。仅仅这样做似乎可以解决问题。我的假设是项目元数据中有一个缓存值告诉 gradle 在哪里可以找到 Android 构建工具,当我打开 Android Studio 时它会更新这个值。
显然,这种变通方法是不够的,因为构建需要在没有人工干预的情况下每次都始终如一地工作。有什么命令可以用来刷新这个缓存吗?或者可能是一些不应该被检入到 git 中的配置文件?
【问题讨论】:
标签: android jenkins gradle android-gradle-plugin