首页 > 代码库 > XE7 UP1编译Android Debug时报 “failed to allocate 190397160 bytes for output file: Not enough space”

XE7 UP1编译Android Debug时报 “failed to allocate 190397160 bytes for output file: Not enough space”

一个项目,一直编译成Android Debug时没有问题,今天加了一个Frame,在WIN下调试正常时,转为编译输出Android Debug时报下面的错误


[DCC Error] E2597 D:\Embarcadero\Studio\15.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: fatal error: .\\Android\\Debug\\libXXX.so: mmap: failed to allocate 190397160 bytes for output file: Not enough space

 

一看磁盘剩余空间还有几个G,应该不是磁盘空间不足的问题;

重启XE7,还是不行,不过编译成Android Release是可以;然后试了去掉新加的那个Frame也正常。

在Google上在Embarcadero Discussion Forums搜索到也有2人发帖问一样的问题,不过后面没有回复

后面找到 https://code.google.com/p/vs-android/wiki/Troubleshooting

 

参考里面的处理解决了问题:

1)在Windows的环境变量里面加一个 "_JAVA_OPTIONS",值为 "-Xms256m -Xmx512m"

    
2)保存后,重启电脑,再进行编译就正常

 

默认的java虚拟机的大小比较小,在对大数据进行处理时java就会报错

  • -Xms是设置内存初始化的大小
  • -Xmx是设置最大能够使用内存的大小

具体可以参考:

  • http://zhli986-yahoo-cn.iteye.com/blog/1149233
  • https://code.google.com/p/vs-android/wiki/Troubleshooting

 

XE7 UP1编译Android Debug时报 “failed to allocate 190397160 bytes for output file: Not enough space”