首页 > 代码库 > 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”