Вот проблема сборки, с которой я борюсь.Я пытаюсь собрать Android 2.1 на Mac OS X 10.6.8 с jdk 1.5.Команда «make» выполняется некоторое время и в конце выдает:
The system is out of resources.
Consult the following stack trace for details.
java.lang.OutOfMemoryError: Java heap space
at com.sun.tools.javac.code.Scope.dble(Scope.java:150)
at com.sun.tools.javac.code.Scope.enter(Scope.java:185)
at com.sun.tools.javac.comp.MemberEnter.importAll(MemberEnter.java:129)
at com.sun.tools.javac.comp.MemberEnter.visitTopLevel(MemberEnter.java:504)
at com.sun.tools.javac.tree.Tree$TopLevel.accept(Tree.java:382)
at com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:383)
at com.sun.tools.javac.comp.MemberEnter.complete(MemberEnter.java:778)
at com.sun.tools.javac.code.Symbol.complete(Symbol.java:355)
at com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:612)
at com.sun.tools.javac.comp.Enter.complete(Enter.java:463)
at com.sun.tools.javac.comp.Enter.main(Enter.java:441)
at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:404)
at com.sun.tools.javac.main.Main.compile(Main.java:592)
at com.sun.tools.javac.main.Main.compile(Main.java:544)
at com.sun.tools.javac.Main.compile(Main.java:92)
at util.build.JavacBuildStep.build(JavacBuildStep.java:69)
at util.build.BuildDalvikSuite.handleTests(BuildDalvikSuite.java:504)
at util.build.BuildDalvikSuite.compose(BuildDalvikSuite.java:170)
at util.build.BuildDalvikSuite.main(BuildDalvikSuite.java:136)
main javac dalvik-cts-buildutil build step failed
make: *** [out/host/darwin-x86/obj/EXECUTABLES/vm-tests_intermediates/tests] Error 1
Кажется, что размер кучи Java недостаточен.Я искал эту проблему в Google, который дал мне несколько ссылок, таких как:
На этих страницах в основном предлагается добавить параметр "-Xmx" в параметры JVM.Я попробовал следующее: Добавил этот столбец в /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0-leopard/Resources/Info.plist"
VMOptions -Xms1024M -Xmx2048M
(я также попытался установить VMOptions.x86_64 вместо VMOptions).
Переходя по другой ссылке (osdir.com/ml/android-platform/2010-06/msg00097.html), ятакже изменил следующую строку в файле build / core / definitions.mk внутри каталога сборки Android.
$(hide) java -Xmx512M -jar $(HOST_OUT_JAVA_LIBRARIES)/proguard-4.0.1.jar \
на
$(hide) java -Xmx2048M -jar $(HOST_OUT_JAVA_LIBRARIES)/proguard-4.0.1.jar \
Ничто из перечисленного не помогло. У меня есть несколько вопросов:
- Можно ли изменить размер кучи Java в масштабе всей системы в Mac OS X и это правильный путь? Если да, достигнет ли это изменение, которое я сделал в файле Info.plist?
- Или мне нужно изменить размер кучи специально для сборки Android? Если да, то как мне это сделать?
Редактировать
Просто обновление: я пытался собрать Android 3.1 с JDK 1.6, и сборка прошла нормально (даже без васt установить опцию "-Xmx" для jdk 1.6).Я до сих пор не знаю, в чем проблема при сборке 2.1 с jdk 1.5.