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

标签 android jvm gradle

我有一个 Android 项目,目前在 dex 步骤中堆空间不足:

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

我想像以前使用 Maven 插件一样提高 gradle 中的 jvm 最小/最大设置:

      <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 文件,但它似乎只有 gradle 本身的 jvmargs。

最佳答案

有一个未记录的 dexOptions 标志。

dexOptions { javaMaxHeapSize "2g" }

我从谷歌群组帖子中找到了旗帜。 https://groups.google.com/forum/#!topic/adt-dev/P_TLBTyFWVY

关于android - 你如何调整 gradle 中 dex 内存的 jvm args?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23688116/

相关文章:

intellij-idea - Intellij IDEA-Gradle错误:org.gradle.listener.ListenerBroadcast。<init>(Ljava/lang/Class;)V

plugins - 尝试在H2数据库中创建表时出现Liquibase错误

android - 是否可以在gradle productFlavors中声明变量并在Java中使用它?

android - 将彩色 bmp 转为灰度 :

java - 如果我运行我的代码,我将获得多少内存?

java - 一步一步...使用 NFC 读取标签

java - 以编程方式设置最大 Java 堆大小

java - 这个类是从哪里来的?

java - Android studio 无法解析符号 'HttpClient'

android - 如何指定 TransitionManager.beginDelayedTransition 仅影响直接 subview