首页 > 解决方案 > Bamboo 上的 Android 构建在 lintVital 任务上挂了 20 多分钟

问题描述

一段时间以来,我们所有的 Android 构建(在 Bamboo 上运行)都在lintVital任务中挂起 20 多分钟,此时构建通常会被强制停止:

build   28-Jan-2019 09:25:25    > Task :app-bigscreen:lintVitalProdFiretvRelease
build   28-Jan-2019 09:26:36    Calling mockable JAR artifact transform to create file: /appl/bamboo/gradle-home/caches/transforms-2/files-2.1/552f5f21376c4f273769ade73c6fef92/android.jar with input /appl/bamboo/android-sdk-linux/platforms/android-28/android.jar
error   28-Jan-2019 09:47:00    Force Stop build feature is enabled for current plan. Either Bamboo has detected the build has hung or it has been manually stopped.

但是,这仅在我们的两个 Bamboo 构建代理中的一个上出现 - 在另一个上,相同的构建正在运行而没有任何问题,lintVital任务在一秒钟内完成。(开发机器上的构建也运行良好。)根据我们的 Bamboo 管理员的说法,两个构建代理上的设置是“相同的”——我还确保 Android SDK 文件夹是同步的,因为错误之前的行引用了一些Gradle 缓存中的文件我也删除了该文件夹,但这也没有任何好处。

所以,我基本上是在寻找任何可能导致 lintVital 任务挂起的提示?

或者,更一般地说:lintVital任务做什么以及它依赖什么工具或其他输入(除了我们的 Git 存储库的内容)?

标签: androidgradleandroid-gradle-pluginbamboo

解决方案


Lint 是内存密集型的。为您的构建提供更多内存。

把它放在<project root>/gradle.properties文件中:

# Gradle will get 1 GB of memory to play with.
org.gradle.jvmargs=-Xmx1g

(或将-Xmx参数添加到预先存在的org.gradle.jvmargs属性)

如果仍然不够,请增加它。但是不要提供超过它需要的东西,垃圾收集会随着可用内存的增长而变慢。默认值为512m


推荐阅读