UNEXPECTED TOP-LEVEL ERROR: sc8825 오류
UNEXPECTED TOP-LEVEL ERROR:
java.lang.OutOfMemoryError: GC overhead limit exceeded
at com.android.dx.dex.code.OutputFinisher.findExpandedOpcodeForInsn(OutputFinisher.java:525)
at com.android.dx.dex.code.OutputFinisher.calculateReservedCount(OutputFinisher.java:466)
at com.android.dx.dex.code.OutputFinisher.reserveRegisters(OutputFinisher.java:402)
at com.android.dx.dex.code.OutputFinisher.finishProcessingAndGetList(OutputFinisher.java:358)
at com.android.dx.dex.code.DalvCode.finishProcessingIfNecessary(DalvCode.java:108)
at com.android.dx.dex.code.DalvCode.getInsns(DalvCode.java:185)
at com.android.dx.dex.file.CodeItem.place0(CodeItem.java:223)
at com.android.dx.dex.file.OffsettedItem.place(OffsettedItem.java:242)
at com.android.dx.dex.file.MixedItemSection.placeItems(MixedItemSection.java:312)
at com.android.dx.dex.file.DexFile.toDex0(DexFile.java:543)
at com.android.dx.dex.file.DexFile.toDex(DexFile.java:216)
at com.android.dx.command.dexer.Main.writeDex(Main.java:574)
at com.android.dx.command.dexer.Main.run(Main.java:218)
at com.android.dx.command.dexer.Main.main(Main.java:174)
at com.android.dx.command.Main.main(Main.java:95)
make: *** [out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/noproguard.classes-with-local.dex] error 3
해결 방법:
방법 1:
자바 명령으로 자바 가상 머신의 크기를 지정하여 컴파일해야 할 물건을 먼저 컴파일하는 데 몇 분이 걸릴 수 있습니다.
java -Xms3550M -Xmx3550M -jar/home/test/4.0/out/host/linux-x86/framework/dx.jar --dex --output=out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/noproguard.classes-with-local.dex --core-library out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/noproguard.classes.jar가 이걸 실행하고 나면다시 make하면 돼요. 이 가방은 이미 make가 나왔기 때문에 다시 make를 할 때 다시 컴파일하지 않을 거예요.
이 방법은make 오류가 발생한 후에 상술한 명령을 실행한 다음make 명령을 실행할 수 있습니다
방법 2:
정의를 수정합니다.mk 파일 이 파일은build/core/디렉터리에 있습니다
변수 수정:transform-classes.jar-to-dex의 -JXms16M -JXmx1024M 값
코드의 변수 정의:
define transform-classes.jar-to-dex @echo "target Dex: $(PRIVATE_MODULE)"@mkdir -p $(dir $@) $(hide) $(DX)\ $(if $(findstring windows,$(HOST_OS)),,-JXms16M -JXmx1024M)\ --dex --output=$@\ $(if $(NO_OPTIMIZE_DX),\ --no-optimize)\ $(if $(GENERATE_DEX_DEBUG),\ --debug --verbose\ --dump-to=$(@:.dex=.lst)\ --dump-width=1000)\ $(PRIVATE_DX_FLAGS)\ $< endef
- JXms16M - JXmx1024M 을 적절한 값으로 수정
제 기계는 메모리가 32G입니다. - JXms16M - JXmx1024M - JXmx2048M
구체적인 값의 크기는 구체적인 기계의 메모리에 따라 정해야 하며, 메모리가 너무 적으면 설정한 값이 크면 문제가 생길 수 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.