适用于Android的Docker容器:Gradle构建守护程序意外消失(可能已被杀死或可能已崩溃)

时间:2017-10-27 07:48:50

标签: android docker

我尝试在Docker容器上构建android,每次./gradlew assembleDebug

错误时我都会收到
  

:saltside-android:transformClassesWithDexForBikroyDebug从守护进程收到的消息表明该守护进程已消失。   发送构建请求:BuildAndStop {id = 81f2e456-bb5b-4cf8-9190-3c8b22e286b6.1,currentDir = / app / project-main}   试图从守护程序日志中读取最后的消息...   守护进程pid:35     日志文件:/root/.gradle/daemon/3.3/daemon-35.out.log   -----来自守护程序日志文件的最后20行 - daemon-35.out.log -----   :saltside-机器人:processBugsnagBikroyDebugManifest   :saltside-机器人:processBikroyDebugResources   :saltside-机器人:generateBikroyDebugSources   :saltside-机器人:incrementalBikroyDebugJavaCompilationSafeguard   :saltside-机器人:javaPreCompileBikroyDebug   :saltside-android:compileBikroyDebugJavaWithJavacNote:某些输入文件使用或覆盖不推荐使用的API。   注意:使用-Xlint重新编译:弃用以获取详细信息。   注意:某些输入文件使用未经检查或不安全的操作。   注意:使用-Xlint重新编译:取消选中以获取详细信息。   :   :saltside-android:compileBikroyDebugNdk UP-TO-DATE   :saltside-机器人:compileBikroyDebugSources   :saltside-机器人:mergeBikroyDebugShaders   :saltside-机器人:compileBikroyDebugShaders   :saltside-机器人:generateBikroyDebugAssets   :saltside-机器人:mergeBikroyDebugAssets   :saltside-机器人:processBugsnagBikroyDebugProguard   :saltside-机器人:transformClassesWithJarMergingForBikroyDebug   :saltside-机器人:transformClassesWithMultidexlistForBikroyDebug   :saltside-机器人:transformClassesWithDexForBikroyDebug   -----守护程序日志结束-----   :   FAILURE:构建因异常而失败。   :   * 什么地方出了错:   Gradle build守护进程意外消失(可能已被杀死或可能已崩溃)   :   *尝试:   使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获得更多日志输出。

我已经在 gradle.properties 这样增加了内存和禁用后台程序

    org.gradle.jvmargs=-Xmx4608m -XX:MaxPermSize=2048m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.daemon=false

任何人都知道什么可以解决它?

1 个答案:

答案 0 :(得分:4)

我得到了解决方案但仍在写答案,以便如果任何身体有同样的问题并且可以解决它。 这是由于docker容器的内存大小,我正在使用mac,看起来问题只与mac机器有关。 默认情况下,mack默认容器大小为2GB,您可以使用free命令检查docker容器。所以将它增加到4GB或更多,繁荣它将解决你的问题。

Docker->Preferences->Advanced->Memory

Click on Preferences

Increase Memory