Android Studio를 사용 중이며 aws-java-sdk를 가져 와서 dynamodb 라이브러리를 가져 오려고합니다. 그러나이 종속성을 추가하면 GC 오버 헤드 한계를 초과하여 빌드가 실패하게됩니다. 무엇이 잘못 되었습니까?Android Studio : aws-java-sdk를 추가하면 GC 오버 헤드 한도가 초과되었습니다.
아마도 aws-java-sdk는 여기에서 사용하기에 적합하지 않습니까?
내 Gradle을 파일 :
apply plugin: 'android'
android {
compileSdkVersion 19
buildToolsVersion "19.0.3"
defaultConfig {
minSdkVersion 16
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
compile 'com.android.support:appcompat-v7:+'
compile 'com.android.support:support-v4:19.0.0'
compile 'org.apache.commons:commons-lang3:3.3'
compile 'com.google.guava:guava:16.0.1'
compile 'joda-time:joda-time:2.3'
compile 'com.amazonaws:aws-java-sdk:+'
compile fileTree(dir: 'libs', include: ['*.jar'])
compile "org.mockito:mockito-all:1.9.5"
}
그리고 이것은 스택 곡 :
Information:Gradle tasks [:backagen:assembleDebug]
Information:UNEXPECTED TOP-LEVEL ERROR:
Information:java.lang.OutOfMemoryError: GC overhead limit exceeded
Information: at com.android.dx.util.FixedSizeList.<init>(FixedSizeList.java:38)
Information: at com.android.dx.rop.code.RegisterSpecList.<init>(RegisterSpecList.java:102)
Information: at com.android.dx.cf.code.RopperMachine.getSources(RopperMachine.java:668)
Information: at com.android.dx.cf.code.RopperMachine.run(RopperMachine.java:288)
Information: at com.android.dx.cf.code.Simulator$SimVisitor.visitConstant(Simulator.java:691)
Information: at com.android.dx.cf.code.BytecodeArray.parseInstruction(BytecodeArray.java:772)
Information: at com.android.dx.cf.code.Simulator.simulate(Simulator.java:94)
Information: at com.android.dx.cf.code.Ropper.processBlock(Ropper.java:698)
Information: at com.android.dx.cf.code.Ropper.doit(Ropper.java:653)
Information: at com.android.dx.cf.code.Ropper.convert(Ropper.java:266)
Information: at com.android.dx.dex.cf.CfTranslator.processMethods(CfTranslator.java:282)
Information: at com.android.dx.dex.cf.CfTranslator.translate0(CfTranslator.java:139)
Information: at com.android.dx.dex.cf.CfTranslator.translate(CfTranslator.java:94)
Information: at com.android.dx.command.dexer.Main.processClass(Main.java:682)
Information: at com.android.dx.command.dexer.Main.processFileBytes(Main.java:634)
Information: at com.android.dx.command.dexer.Main.access$600(Main.java:78)
Information: at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:572)
Information: at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284)
Information: at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)
Information: at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
Information: at com.android.dx.command.dexer.Main.processOne(Main.java:596)
Information: at com.android.dx.command.dexer.Main.processAllFiles(Main.java:498)
Information: at com.android.dx.command.dexer.Main.runMonoDex(Main.java:264)
Information: at com.android.dx.command.dexer.Main.run(Main.java:230)
Information: at com.android.dx.command.dexer.Main.main(Main.java:199)
Information: at com.android.dx.command.Main.main(Main.java:103)
Information:1 error
Information:0 warnings
Information:See complete output in console
Error:Execution failed for task ':backagen:preDexDebug'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
/Applications/Android Studio.app/sdk/build-tools/android-4.4.2/dx --dex --output /Users/samwong/AndroidStudioProjects/BackAgen/backagen/build/pre-dexed/debug/aws-java-sdk-1.7.5-131e66c92e708a5c19c92b04dbc3bf0a71acb816.jar /Users/samwong/.gradle/caches/modules-2/files-2.1/com.amazonaws/aws-java-sdk/1.7.5/650f07e69b071cbf41c32d4ea35fd6bbba8e6793/aws-java-sdk-1.7.5.jar
Error Code:
3
Output:
UNEXPECTED TOP-LEVEL ERROR:
java.lang.OutOfMemoryError: GC overhead limit exceeded
at com.android.dx.util.FixedSizeList.<init>(FixedSizeList.java:38)
at com.android.dx.rop.code.RegisterSpecList.<init>(RegisterSpecList.java:102)
at com.android.dx.cf.code.RopperMachine.getSources(RopperMachine.java:668)
at com.android.dx.cf.code.RopperMachine.run(RopperMachine.java:288)
at com.android.dx.cf.code.Simulator$SimVisitor.visitConstant(Simulator.java:691)
at com.android.dx.cf.code.BytecodeArray.parseInstruction(BytecodeArray.java:772)
at com.android.dx.cf.code.Simulator.simulate(Simulator.java:94)
at com.android.dx.cf.code.Ropper.processBlock(Ropper.java:698)
at com.android.dx.cf.code.Ropper.doit(Ropper.java:653)
at com.android.dx.cf.code.Ropper.convert(Ropper.java:266)
at com.android.dx.dex.cf.CfTranslator.processMethods(CfTranslator.java:282)
at com.android.dx.dex.cf.CfTranslator.translate0(CfTranslator.java:139)
at com.android.dx.dex.cf.CfTranslator.translate(CfTranslator.java:94)
at com.android.dx.command.dexer.Main.processClass(Main.java:682)
at com.android.dx.command.dexer.Main.processFileBytes(Main.java:634)
at com.android.dx.command.dexer.Main.access$600(Main.java:78)
at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:572)
at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284)
at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)
at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
at com.android.dx.command.dexer.Main.processOne(Main.java:596)
at com.android.dx.command.dexer.Main.processAllFiles(Main.java:498)
at com.android.dx.command.dexer.Main.runMonoDex(Main.java:264)
at com.android.dx.command.dexer.Main.run(Main.java:230)
at com.android.dx.command.dexer.Main.main(Main.java:199)
at com.android.dx.command.Main.main(Main.java:103)
나는 이것을 시도했지만 여전히 덱스 한도에 도달했습니다. 핵심 단지에는 22K 방법이 있습니다. – dannyroa
'aws-android-sdk'가 최근에 Maven Central에 추가되었습니다. [여기] (http://search.maven.org/#search%7Cga%7C1%7Caws-android-sdk) 목록을 찾을 수 있습니다. – anon