Как скомпилировать Android SDK с низким объемом оперативной памяти? ⇐ JAVA
-
Anonymous
Как скомпилировать Android SDK с низким объемом оперативной памяти?
Я пытаюсь скомпилировать Android SDK (версия 11) с помощью Docker-скриптов на gitlab.com/android-rebuilds/auto. По разным причинам мне приходится использовать оборудование с 8 ГБ оперативной памяти. Место для хранения огромно.
Скрипты были изменены для работы (проблема с SSH), а также я добавил огромный объем памяти подкачки (на данный момент 315 ГБ). Я также добавил память ZRAM.
Я добавил значения в скрипты build.sh и build-sys-img.sh. экспортируйте JAVA_TOOL_OPTIONS, JAVA_OPTIONS и _JAVA_OPTION = "-Xmx270g", чтобы передать большую часть подкачки компилятору.
Я также использовал make -j1 вместо make $(nproc).
Несмотря на все действия, я все равно получаю такие ошибки, как Java Heap Space. Ошибки время от времени менялись, но общая картина была следующей:
Исключение в потоке «main» java.lang.OutOfMemoryError: пространство кучи Java в java.base/java.util.Arrays.copyOfRange(Arrays.java:4030) в java.base/java.lang.StringLatin1.newString(StringLatin1.java:715) в java.base/java.lang.String.substring(String.java:1879) в java.base/java.lang.String.subSequence(String.java:1913) на com.intellij.lang.impl.PsiBuilderImpl$RelativeTokenTextView.get(PsiBuilderImpl.java:1161) на com.intellij.lang.java.parser.JavaParserUtil$TrailingWhitespacesAndCommentsBinder.getEdgePosition(JavaParserUtil.java:88) на com.intellij.lang.impl.PsiBuilderImpl.balanceWhiteSpaces(PsiBuilderImpl.java:1116) на com.intellij.lang.impl.PsiBuilderImpl.prepareLightTree(PsiBuilderImpl.java:1017) на com.intellij.lang.impl.PsiBuilderImpl.buildTree(PsiBuilderImpl.java:910) на com.intellij.lang.impl.PsiBuilderImpl.getTreeBuilt(PsiBuilderImpl.java:905) в com.intellij.psi.impl.source.tree.JavaElementType$ICodeBlockElementType.parseContents(JavaElementType.java:156) на com.intellij.psi.impl.source.tree.LazyParseableElement.lambda$ensureParsed$0(LazyParseableElement.java:206) на com.intellij.psi.impl.source.tree.LazyParseableElement$$Lambda$213/0x00000001004e5440.run (источник неизвестен) на com.intellij.psi.impl.DebugUtil.performPsiModification(DebugUtil.java:553) на com.intellij.psi.impl.source.tree.LazyParseableElement.ensureParsed(LazyParseableElement.java:205) на com.intellij.psi.impl.source.tree.LazyParseableElement.getFirstChildNode(LazyParseableElement.java:254) на com.intellij.psi.impl.source.tree.LazyParseablePsiElement.getFirstChild(LazyParseablePsiElement.java:90) на com.intellij.psi.impl.source.tree.LazyParseablePsiElement.acceptChildren(LazyParseablePsiElement.java:104) на com.intellij.psi.JavaRecursiveElementVisitor.visitElement(JavaRecursiveElementVisitor.java:43) на com.intellij.psi.JavaElementVisitor.visitCodeBlock(JavaElementVisitor.java:52) на com.intellij.psi.impl.source.tree.java.PsiCodeBlockImpl.accept(PsiCodeBlockImpl.java:212) в com.intellij.psi.impl.source.tree.CompositePsiElement.acceptChildren(CompositePsiElement.java:81) на com.intellij.psi.JavaRecursiveElementVisitor.visitElement(JavaRecursiveElementVisitor.java:43) на com.intellij.psi.JavaElementVisitor.visitStatement(JavaElementVisitor.java:259) на com.intellij.psi.JavaElementVisitor.visitBlockStatement(JavaElementVisitor.java:32) на com.intellij.psi.impl.source.tree.java.PsiBlockStatementImpl.accept(PsiBlockStatementImpl.java:67) на com.intellij.psi.impl.source.tree.LazyParseablePsiElement.acceptChildren(LazyParseablePsiElement.java:106) на com.intellij.psi.JavaRecursiveElementVisitor.visitElement(JavaRecursiveElementVisitor.java:43) на com.intellij.psi.JavaElementVisitor.visitCodeBlock(JavaElementVisitor.java:52) на com.intellij.psi.impl.source.tree.java.PsiCodeBlockImpl.accept(PsiCodeBlockImpl.java:212) на com.intellij.psi.impl.source.tree.CompositePsiElement.acceptChildren(CompositePsiElement.java:81) на com.intellij.psi.JavaRecursiveElementVisitor.visitElement(JavaRecursiveElementVisitor.java:43) ниндзя: сборка остановлена: подкоманда не выполнена. 09:03:17 ниндзя не справился с: статус выхода 1 Кроме того, на этой странице я прикрепляю более крупный пакет ошибок: https://pastebin.com/YNN0fAp2
Кто-нибудь может мне помочь?
Я пытаюсь скомпилировать Android SDK (версия 11) с помощью Docker-скриптов на gitlab.com/android-rebuilds/auto. По разным причинам мне приходится использовать оборудование с 8 ГБ оперативной памяти. Место для хранения огромно.
Скрипты были изменены для работы (проблема с SSH), а также я добавил огромный объем памяти подкачки (на данный момент 315 ГБ). Я также добавил память ZRAM.
Я добавил значения в скрипты build.sh и build-sys-img.sh. экспортируйте JAVA_TOOL_OPTIONS, JAVA_OPTIONS и _JAVA_OPTION = "-Xmx270g", чтобы передать большую часть подкачки компилятору.
Я также использовал make -j1 вместо make $(nproc).
Несмотря на все действия, я все равно получаю такие ошибки, как Java Heap Space. Ошибки время от времени менялись, но общая картина была следующей:
Исключение в потоке «main» java.lang.OutOfMemoryError: пространство кучи Java в java.base/java.util.Arrays.copyOfRange(Arrays.java:4030) в java.base/java.lang.StringLatin1.newString(StringLatin1.java:715) в java.base/java.lang.String.substring(String.java:1879) в java.base/java.lang.String.subSequence(String.java:1913) на com.intellij.lang.impl.PsiBuilderImpl$RelativeTokenTextView.get(PsiBuilderImpl.java:1161) на com.intellij.lang.java.parser.JavaParserUtil$TrailingWhitespacesAndCommentsBinder.getEdgePosition(JavaParserUtil.java:88) на com.intellij.lang.impl.PsiBuilderImpl.balanceWhiteSpaces(PsiBuilderImpl.java:1116) на com.intellij.lang.impl.PsiBuilderImpl.prepareLightTree(PsiBuilderImpl.java:1017) на com.intellij.lang.impl.PsiBuilderImpl.buildTree(PsiBuilderImpl.java:910) на com.intellij.lang.impl.PsiBuilderImpl.getTreeBuilt(PsiBuilderImpl.java:905) в com.intellij.psi.impl.source.tree.JavaElementType$ICodeBlockElementType.parseContents(JavaElementType.java:156) на com.intellij.psi.impl.source.tree.LazyParseableElement.lambda$ensureParsed$0(LazyParseableElement.java:206) на com.intellij.psi.impl.source.tree.LazyParseableElement$$Lambda$213/0x00000001004e5440.run (источник неизвестен) на com.intellij.psi.impl.DebugUtil.performPsiModification(DebugUtil.java:553) на com.intellij.psi.impl.source.tree.LazyParseableElement.ensureParsed(LazyParseableElement.java:205) на com.intellij.psi.impl.source.tree.LazyParseableElement.getFirstChildNode(LazyParseableElement.java:254) на com.intellij.psi.impl.source.tree.LazyParseablePsiElement.getFirstChild(LazyParseablePsiElement.java:90) на com.intellij.psi.impl.source.tree.LazyParseablePsiElement.acceptChildren(LazyParseablePsiElement.java:104) на com.intellij.psi.JavaRecursiveElementVisitor.visitElement(JavaRecursiveElementVisitor.java:43) на com.intellij.psi.JavaElementVisitor.visitCodeBlock(JavaElementVisitor.java:52) на com.intellij.psi.impl.source.tree.java.PsiCodeBlockImpl.accept(PsiCodeBlockImpl.java:212) в com.intellij.psi.impl.source.tree.CompositePsiElement.acceptChildren(CompositePsiElement.java:81) на com.intellij.psi.JavaRecursiveElementVisitor.visitElement(JavaRecursiveElementVisitor.java:43) на com.intellij.psi.JavaElementVisitor.visitStatement(JavaElementVisitor.java:259) на com.intellij.psi.JavaElementVisitor.visitBlockStatement(JavaElementVisitor.java:32) на com.intellij.psi.impl.source.tree.java.PsiBlockStatementImpl.accept(PsiBlockStatementImpl.java:67) на com.intellij.psi.impl.source.tree.LazyParseablePsiElement.acceptChildren(LazyParseablePsiElement.java:106) на com.intellij.psi.JavaRecursiveElementVisitor.visitElement(JavaRecursiveElementVisitor.java:43) на com.intellij.psi.JavaElementVisitor.visitCodeBlock(JavaElementVisitor.java:52) на com.intellij.psi.impl.source.tree.java.PsiCodeBlockImpl.accept(PsiCodeBlockImpl.java:212) на com.intellij.psi.impl.source.tree.CompositePsiElement.acceptChildren(CompositePsiElement.java:81) на com.intellij.psi.JavaRecursiveElementVisitor.visitElement(JavaRecursiveElementVisitor.java:43) ниндзя: сборка остановлена: подкоманда не выполнена. 09:03:17 ниндзя не справился с: статус выхода 1 Кроме того, на этой странице я прикрепляю более крупный пакет ошибок: https://pastebin.com/YNN0fAp2
Кто-нибудь может мне помочь?
Мобильная версия