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

Ric*_*ion 7 android jvm gradle

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

 :app:dexXXXXX Exception in thread "pool-1-thread-4"  java.lang.OutOfMemoryError: Java heap space
Run Code Online (Sandbox Code Playgroud)

我想在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>
Run Code Online (Sandbox Code Playgroud)

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

   android {
    dexOptions {
        incremental false
        preDexLibraries = false
        jumboMode = false
    }
   }
Run Code Online (Sandbox Code Playgroud)

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

Rei*_*ker 18

有一个未记录的dexOptions标志.

dexOptions { javaMaxHeapSize "2g" }

我从谷歌团体帖子中找到了这个标志. https://groups.google.com/forum/#!topic/adt-dev/P_TLBTyFWVY