Android Invalid maximum heap size: -Xmx 解决方法

最近遇到一个bug,由于项目较大,超过了65535限制,因此要使用multiDexEnabled,build.gradle文件如下:

dexOptions {
        javaMaxHeapSize "4g"
}
defaultConfig {
        applicationId "cn.test"
        minSdkVersion 11
        targetSdkVersion 21
        multiDexEnabled true
}

然而,编译通过,运行时却报下面的错误:

Android Invalid maximum heap size: -Xmx 解决方法_第1张图片

报的错是:

Error:Invalid maximum heap size: -Xmx4g

去掉javaMaxHeapSize "4g"就能运行,可是别人加上才能运行,去掉则不能运行,报错java堆内存不够,这真是奇怪
后来发现原因是我用的JDK是32位的,别人用的都是64位的,后来改用64位jdk之后就解决问题了

怎么查看Jdk的版本位数?
在命令行输入java -version,如果是64位的,则会显示64 bit的字样,如下图:

Android Invalid maximum heap size: -Xmx 解决方法_第2张图片

否则就是32位的。

你可能感兴趣的:(android,bug)