손이 필요합니다. 안드로이드 프로젝트에서 android-maven-plugin 3.0.0과 maven-external-dependency-plugin 0.4를 사용하고 있습니다. 나는 의존성으로 다른 저장소에서이 라이브러리를 사용하고 있습니다 :dex를 만들려고 할 때 android-maven-plugin으로 인해 java.lang.OutOfMemoryError가 발생합니다.
[INFO] UNEXPECTED TOP-LEVEL ERROR:
[INFO] java.lang.OutOfMemoryError: Java heap space
[INFO] at com.android.dx.cf.code.OneLocalsArray.<init>(OneLocalsArray.java:46)
[INFO] at com.android.dx.cf.code.OneLocalsArray.copy(OneLocalsArray.java:51)
[INFO] at com.android.dx.cf.code.OneLocalsArray.copy(OneLocalsArray.java:33)
[INFO] at com.android.dx.cf.code.Frame.copy(Frame.java:98)
[INFO] at com.android.dx.cf.code.Ropper.processBlock(Ropper.java:683)
[INFO] at com.android.dx.cf.code.Ropper.doit(Ropper.java:639)
[INFO] at com.android.dx.cf.code.Ropper.convert(Ropper.java:252)
[INFO] at com.android.dx.dex.cf.CfTranslator.processMethods(CfTranslator.java:256)
[INFO] at com.android.dx.dex.cf.CfTranslator.translate0(CfTranslator.java:134)
[INFO] at com.android.dx.dex.cf.CfTranslator.translate(CfTranslator.java:87)
[INFO] at com.android.dx.command.dexer.Main.processClass(Main.java:483)
[INFO] at com.android.dx.command.dexer.Main.processFileBytes(Main.java:455)
[INFO] at com.android.dx.command.dexer.Main.access$400(Main.java:67)
[INFO] at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:394)
[INFO] at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:245)
[INFO] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:131)
[INFO] at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:109)
[INFO] at com.android.dx.command.dexer.Main.processOne(Main.java:418)
[INFO] at com.android.dx.command.dexer.Main.processAllFiles(Main.java:329)
[INFO] at com.android.dx.command.dexer.Main.run(Main.java:206)
[INFO] at com.android.dx.command.dexer.Main.main(Main.java:174)
[INFO] at com.android.dx.command.Main.main(Main.java:95)
시도 :
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.android</groupId>
<artifactId>android</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.google.android</groupId>
<artifactId>android-test</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.admob.android.ads</groupId>
<artifactId>admob-android</artifactId>
<version>4.0.4</version>
</dependency>
<dependency>
<groupId>com.google.code</groupId>
<artifactId>google-api-translate-java</artifactId>
<version>0.97</version>
</dependency>
<dependency>
<groupId>com.db4o</groupId>
<artifactId>db4o-core-java5</artifactId>
<version>${com.db4o.version}</version>
</dependency>
<dependency>
<groupId>com.db4o</groupId>
<artifactId>db4o-cs-java5</artifactId>
<version>${com.db4o.version}</version>
</dependency>
<dependency>
<groupId>org.apache.james</groupId>
<artifactId>apache-mime4j</artifactId>
<version>0.6</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20090211</version>
</dependency>
<dependency>
<groupId>org.restlet.jee</groupId>
<artifactId>org.restlet</artifactId>
<version>${restlet.version}</version>
</dependency>
</dependencies>
종속성이 모두 만족하지만 내가 메모리 오류를 얻을, 기민성 안드로이드에 모든 항아리를 은혜를 모르는 시간은 때
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<forkMode>pertest</forkMode>
<argLine>-Xms1024m -Xmx2048m</argLine>
<testFailureIgnore>false</testFailureIgnore>
<skip>false</skip>
</configuration>
</plugin>
하거나 :
,321이 추가 메모리를 늘리 0... 이런
또는 수출 MAVEN_OPTS :
export MAVEN_OPTS=-Xmx1024m
문제가 해결되지 않을
내가 종속 파일의 클래스에 대한 경고의 오래된 클래스 형식으로 컴파일 될 수 있지만, 문제의 원인인지 확실하지 않습니다.
[INFO] warning: Ignoring InnerClasses attribute for an anonymous inner class
[INFO] (org.osgi.framework.AdminPermission$1) that doesn't come with an
[INFO] associated EnclosingMethod attribute. This class was probably produced by a
[INFO] compiler that did not target the modern .class file format. The recommended
[INFO] solution is to recompile the class from source, using an up-to-date compiler
[INFO] and without specifying any "-target" type options. The consequence of ignoring
[INFO] this warning is that reflective operations on this class will incorrectly
[INFO] indicate that it is *not* an inner class.
나는 피. 콘솔에서 디버깅을 사용하여 전체 출력을 확인할 수 있으므로 오류를 자세히 살펴볼 수 있습니다. http://pastebin.com/5DPBihH0
최고.
아줌 마야
감사합니다. 베스트! – Damasia