JVM arguments gradle cannot be set in gradle.prope

2019-04-20 08:04发布

-Running Android 2.1.1 on Mac OS X

-App is not on Android phone.

content of gradle.properties file

org.gradle.jvmargs=-Xmx2048M

enter image description here

When hovering, the IDE indicates it is an unused property. It should also be dark blue instead of grey.

Output:

:MyProjectDirName:transformClassesWithInstantRunSlicerForDebug
:MyProjectDirName:transformClassesWithDexForDebug
To run dex in process, the Gradle daemon needs a larger heap.
It currently has approximately 910 MB.
For faster builds, increase the maximum heap size for the Gradle daemon       
to more than 2048 MB.
To do this set org.gradle.jvmargs=-Xmx2048M in the project   
gradle.properties.
For more information see   
https://docs.gradle.org/current/userguide/build_environment.html

The output of the compiler clearly indicates it discards the contents of the gradle.properties file.

contents build.gradle

android {
    dexOptions {
        javaMaxHeapSize "2g"
    }
}

Played with these settings aswell, no success:

enter image description here

3条回答
Juvenile、少年°
2楼-- · 2019-04-20 08:51

I faced this issue as well. Did not find a good answer. It is "nice" that you can fix it in your local properties folder. But people who suggest that must work on teams on 1, or want to spend time doing this fix to everyone. My group has a build server and that is the choke point.

I confirmed that Gradle is actually reading these items and that the "not used" you are reading is an error. I confirmed this by changing one of the poperties like so

org.gradle.jvmargs=-Xmx48m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

At which point I got an error. If it was not using this resource then it would not have errored with the following

Error:Execution failed for task ':app:mergeDebugResources'.
GC overhead limit exceeded
查看更多
Ridiculous、
3楼-- · 2019-04-20 08:58

This works for me :

properties file :

 org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

build file :

android {
      ...

      defaultConfig {
          ...
          multiDexEnabled true
      }


     dexOptions {
         preDexLibraries = false;
     }
}
查看更多
放我归山
4楼-- · 2019-04-20 09:07

Try to add the 'org.gradle.daemon=true' inside gradle.properties file at

/Users/<username>/.gradle/ (Mac)

C:\Users\<username>\.gradle (Windows)

Answer based from

https://stackoverflow.com/a/33184794/1915831

https://stackoverflow.com/a/19500539/1915831

查看更多
登录 后发表回答