JenkinsでAndroidプロジェクトをビルドすると、Gradleビルドデーモンが予期せず消えましたか?



When Building An Android Project Jenkins



序文

最近、windows10では、centos7システムがdockerで構築され、jenkinsがAndroidプロジェクトの自動コンパイル用のシステムに構築されたため、テスターと製品マネージャーは必要に応じてパッケージ化できます。

問題

実行./gradlew clean assembleRelease --s命名後、しばらくコンパイルした後、エラーは次のようになります。



* Exception is: 19:36:01 org.gradle.launcher.daemon.client.DaemonDisappearedException: Gradle build daemon disappeared unexpectedly (it may have been killed or may have crashed) 19:36:01 at org.gradle.launcher.daemon.client.DaemonClient.handleDaemonDisappearance(DaemonClient.java:238) 19:36:01 at org.gradle.launcher.daemon.client.DaemonClient.monitorBuild(DaemonClient.java:214) 19:36:01 at org.gradle.launcher.daemon.client.DaemonClient.executeBuild(DaemonClient.java:178) 19:36:01 at org.gradle.launcher.daemon.client.SingleUseDaemonClient.execute(SingleUseDaemonClient.java:54) 19:36:01 at org.gradle.launcher.daemon.client.SingleUseDaemonClient.execute(SingleUseDaemonClient.java:36) 19:36:01 at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:51) 19:36:01 at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:173) 19:36:01 at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:285) 19:36:01 at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:258) 19:36:01 at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33) 19:36:01 at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22) 19:36:01 at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:251) 19:36:01 at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:185) 19:36:01 at org.gradle.launcher.Main.doAction(Main.java:36) 19:36:01 at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45) 19:36:01 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 19:36:01 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 19:36:01 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 19:36:01 at java.lang.reflect.Method.invoke(Method.java:498) 19:36:01 at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:60) 19:36:01 at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:37) 19:36:01 at org.gradle.launcher.GradleMain.main(GradleMain.java:23) 19:36:01 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 19:36:01 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 19:36:01 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 19:36:01 at java.lang.reflect.Method.invoke(Method.java:498) 19:36:01 at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:31) 19:36:01 at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:108) 19:36:01 at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)

解決

デーモンをfalseに設定し、gradle.propertiesファイルを〜/ .gradleディレクトリに設定します(そうでない場合は新規)

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