4

尝试在 circleci.com 上运行我的 Gradle Android 项目时,我收到以下警告:

警告:构建 VM 的内存限制为 4G。您的构建在一个或多个容器上达到了此限制,并且您的构建结果可能无效。

4

3 回答 3

12

GRADLE_OPTS 可以在 circle.yml 文件中设置:

machine:
   environment:
     GRADLE_OPTS: -Xmx512m -XX:MaxPermSize=512m

允许您将开发配置和构建配置分开。

编辑:

CircleCi 更新了他们的文档,这是 Android 构建的推荐配置:

machine:
  environment:
    GRADLE_OPTS: '-Dorg.gradle.jvmargs="-Xmx2048m -XX:+HeapDumpOnOutOfMemoryError"'
于 2015-04-22T12:05:36.213 回答
6

如果使用Gradle WrapperDEFAULT_JVM_OPTS,你可以gradlew这样设置:

DEFAULT_JVM_OPTS="-Xmx512m"

gradlew.bat如果您在 Windows 上,请以类似的方式设置它:

set DEFAULT_JVM_OPTS=-Xmx512m

这些告诉JVM限制堆大小。您可以测试不同的内存分配以获得更快的编译时间。

PS它实际上是在我的机器上本地进行编译过程,而不是突突我的cpu。编译速度较慢,但​​操作系统响应速度较快。

于 2014-12-09T00:10:12.720 回答
3

有时您需要同时设置 gradle 选项和 java 选项,因为像 NewRelic 这样的一些库不使用 gradle 选项变量中的 jvm 并且需要 java 选项变量

machine:
  environment:
    GRADLE_OPTS: '-Dorg.gradle.jvmargs="-Xmx512m -XX:+HeapDumpOnOutOfMemoryError"'
    _JAVA_OPTIONS: "-Xms512m -Xmx1024m"
于 2015-12-21T18:30:39.340 回答