JVM arguments gradle cannot be set in gradle.properties file for Android Studio 2.1.1

强颜欢笑 提交于 2019-12-06 19:06:33

问题


-Running Android 2.1.1 on Mac OS X

-App is not on Android phone.

content of gradle.properties file

org.gradle.jvmargs=-Xmx2048M

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:


回答1:


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




回答2:


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



回答3:


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


来源:https://stackoverflow.com/questions/37531536/jvm-arguments-gradle-cannot-be-set-in-gradle-properties-file-for-android-studio

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!