我在Android上使用react-native。一切都很好,直到我升级到最新版本(0.59.4)。
CircleCI 上的构建不断失败,并出现“Gradle 构建守护进程意外消失”错误。在本地运行良好。
我知道这是一个内存问题,并尝试了多种方法来设置 java opts 等。
environment:
_JAVA_OPTIONS: '-Xms512m -Xmx3g'
GRADLE_OPTS: '-Xmx3g -Dorg.gradle.daemon=false -Dorg.gradle.jvmargs="-Xmx3g -XX:+HeapDumpOnOutOfMemoryError"'
还尝试了
gradle.properties
中的设置。这些都不起作用。
对于所有仍然面临这个问题的人。我将构建步骤分为两部分。
./gradlew bundleReleaseJsAndAssets
./gradlew assembleRelease -x bundleReleaseJsAndAssets
有了这两件事,
Circle CI
大楼就运转良好。
在配置文件中使用
resource_class: large
。像这样:
jobs:
release:
working_directory: ~/myawesomeproject
docker:
- image: circleci/android:api-29
resource_class: large
Circle CI 默认使用“medium”。 Gradle 在 Java 机器内运行,需要足够的 Java 堆空间。如果没有足够的 RAM 内存,Circle CI 就会默默地失败,从而导致“Gradle 构建守护进程意外消失”消息。
文档链接:Circle CI