最近将ics的源代码从公司拷贝到家里电脑上,发现重新编译过程中出现如下错误:Error occurred during initialization of VM Could not reserve enough space for object heap,从字面上看是在初始化java Vm的时候不能获取足够的堆空间,由于代码和公司代码完全一样(这样可以在家办公),于是仔细对比了一下自己PC和公司PC环境的区别,发现自己的内存是2G,公司内存是4G,于是修改了build/core/definition.mk文件中的编译core.jar和framework.jar时需要的-JXmx为1024m,此参数代表编译上述两个包时需要的最大内存,此初始值为2048M,由于我的PC电脑总的内存才2G,系统运行会占据一部分内存,故编译android的时候肯定不会分配2G内存,所以出现上述错误。修改后编译通过。 特此记录此错误发生的原因以及解决方法,以备不时之需。
|
|