你如何在gradle中调整dex内存的jvm args?

时间:2014-05-15 20:35:08

标签: android jvm gradle

我有一个Android项目,在dex步骤中当前用完了堆空间:

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

我想在gradle中提高jvm min / max设置,就像我们以前使用Maven插件一样:

      <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>

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

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

有办法吗?有一个gradle.properties文件,但似乎只有jvmargs用于gradle本身。

1 个答案:

答案 0 :(得分:18)

有一个未记录的dexOptions标志。

dexOptions { javaMaxHeapSize "2g" }

我在谷歌小组发帖中找到了这个标志。 https://groups.google.com/forum/#!topic/adt-dev/P_TLBTyFWVY