如何在gradle中调整jvm参数以适应dex内存? [英] How do you adjust jvm args for dex memory in gradle?

查看:1047
本文介绍了如何在gradle中调整jvm参数以适应dex内存?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

 :app:dexXXXXX异常处理在线程pool-1-thread-4java.lang.OutOfMemoryError:Java堆空间

I希望像我们以前对Maven插件所做的那样,在gradle中提升jvm min / max设置:

 < groupId> ; com.jayway.maven.plugins.android.generation2< /&的groupId GT; 
< artifactId> android-maven-plugin< / artifactId>
< version> 3.6.0< / version>
< extensions> true< / extensions>
<配置>
< sdk>
<平台> $ {android.platform}< /平台>
< / sdk>
< undeployBeforeDeploy> true< / undeployBeforeDeploy>
< dex>
< jvmArguments>
< jvmArgument> -Xms1024m< / jvmArgument>
< jvmArgument> -Xmx2048m< / jvmArgument>
< / jvmArguments>
< / dex>

但是在gradle中的android插件文档中,我只能看到这些选项:

  android {
dexOptions {
incremental false
preDexLibraries = false
jumboMode = false
}
}

有没有办法做到这一点?有一个gradle.properties文件,但似乎只有jvmargs for gradle本身。

解决方案

有一个未记录的dexOptions标志。

dexOptions {
javaMaxHeapSize2g
}



我从谷歌组帖子中找到该标志。
https://groups.google.com/forum/#!topic/adt- dev / P_TLBTyFWVY


I have an Android project which is currently running out of heap space during the dex step:

 :app:dexXXXXX Exception in thread "pool-1-thread-4"  java.lang.OutOfMemoryError: Java heap space

I would like to bump up the jvm min/max settings in gradle like we used to do with the Maven plugin:

      <groupId>com.jayway.maven.plugins.android.generation2</groupId>
      <artifactId>android-maven-plugin</artifactId>
      <version>3.6.0</version>
      <extensions>true</extensions>
      <configuration>
        <sdk>
          <platform>${android.platform}</platform>
        </sdk>
        <undeployBeforeDeploy>true</undeployBeforeDeploy>
        <dex>
          <jvmArguments>
              <jvmArgument>-Xms1024m</jvmArgument>
              <jvmArgument>-Xmx2048m</jvmArgument>
          </jvmArguments>
        </dex>

But in the docs for the android plugin in gradle I only see these options:

   android {
    dexOptions {
        incremental false
        preDexLibraries = false
        jumboMode = false
    }
   }

Is there a way to do it? There is a gradle.properties file but that just seems to have jvmargs for gradle itself.

解决方案

There is an undocumented dexOptions flag.

dexOptions { javaMaxHeapSize "2g" }

I found the flag from a google groups post. https://groups.google.com/forum/#!topic/adt-dev/P_TLBTyFWVY

这篇关于如何在gradle中调整jvm参数以适应dex内存?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆