gpt4 book ai didi

android - 从 Android 生成的构建文件构建 Ant 失败 - 如何修复?

转载 作者:搜寻专家 更新时间:2023-11-01 09:18:32 25 4
gpt4 key购买 nike

从 Ant 构建我们的 Android 应用程序失败并出现此错误:

    [apply] 
[apply] UNEXPECTED TOP-LEVEL ERROR:
[apply] java.lang.OutOfMemoryError: Java heap space
[apply] at java.util.HashMap.<init>(HashMap.java:209)
[apply] at java.util.HashSet.<init>(HashSet.java:86)
[apply] at com.android.dx.ssa.Dominators.compress(Dominators.java:96)
[apply] at com.android.dx.ssa.Dominators.eval(Dominators.java:132)
[apply] at com.android.dx.ssa.Dominators.run(Dominators.java:213)
[apply] at com.android.dx.ssa.DomFront.run(DomFront.java:84)
[apply] at com.android.dx.ssa.SsaConverter.placePhiFunctions(SsaConverter.java:265)
[apply] at com.android.dx.ssa.SsaConverter.convertToSsaMethod(SsaConverter.java:51)
[apply] at com.android.dx.ssa.Optimizer.optimize(Optimizer.java:100)
[apply] at com.android.dx.ssa.Optimizer.optimize(Optimizer.java:74)
[apply] at com.android.dx.dex.cf.CfTranslator.processMethods(CfTranslator.java:269)
[apply] at com.android.dx.dex.cf.CfTranslator.translate0(CfTranslator.java:131)
[apply] at com.android.dx.dex.cf.CfTranslator.translate(CfTranslator.java:85)
[apply] at com.android.dx.command.dexer.Main.processClass(Main.java:297)
[apply] at com.android.dx.command.dexer.Main.processFileBytes(Main.java:276)
[apply] at com.android.dx.command.dexer.Main.access$100(Main.java:56)
[apply] at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:228)
[apply] at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:245)
[apply] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:130)
[apply] at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:108)
[apply] at com.android.dx.command.dexer.Main.processOne(Main.java:245)
[apply] at com.android.dx.command.dexer.Main.processAllFiles(Main.java:183)
[apply] at com.android.dx.command.dexer.Main.run(Main.java:139)
[apply] at com.android.dx.command.dexer.Main.main(Main.java:120)
[apply] at com.android.dx.command.Main.main(Main.java:87)

BUILD FAILED

我尝试通过设置 ANT_OPTS="-Xms256m -Xmx512m"为 Ant 提供更多内存。 (此构建机器具有 1Gb RAM)。

我只是需要更多内存还是我可以尝试其他任何方法?

最佳答案

找到此链接有帮助:http://groups.google.com/group/android-beginners/browse_thread/thread/1e0a66a5ab115168

解决方案似乎是编辑您的 dx 或 dx.bat shell 脚本(取决于您的平台)并取消注释设置堆大小的行。

例如,

vi $ANDROID_SDK/platforms/*/tools/dx

将允许您在 mac(可能还有 linux)上编辑每个 dx 文件。

然后取消注释 javaOpts 行,内容如下:

# If you want DX to have more memory when executing, uncomment the following
# line and adjust the value accordingly. Use "java -X" for a list of options
# you can pass here.
#
# javaOpts="-Xmx256M"

这显然不是一个理想的解决方案,因为每次更新平台 SDK 时,您的更改都会被破坏。但它确实对我有用。

关于android - 从 Android 生成的构建文件构建 Ant 失败 - 如何修复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2649641/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com