android - 如何在 MonoDevelop 中编译 MonoDroid App 时修复 "O

当我尝试编译(不执行)我的一个项目时,我最近收到以下错误:

Tool /usr/bin/java execution started with arguments: -jar /Applications/android-sdk-mac_x86/platform-tools/lib/dx.jar --no-strict --dex --output=obj/Debug/android/bin/classes.dex obj/Debug/android/bin/classes /Developer/MonoAndroid/usr/lib/mandroid/platforms/android-8/mono.android.jar FlurryAnalytics/Jars/FlurryAgent.jar Jars/android-support-v4.jar 

    UNEXPECTED TOP-LEVEL ERROR:
    java.lang.OutOfMemoryError: Java heap space
        at com.android.dx.rop.code.RegisterSpecSet.<init>(RegisterSpecSet.java:49)
        at com.android.dx.rop.code.RegisterSpecSet.mutableCopy(RegisterSpecSet.java:383)
        at com.android.dx.ssa.LocalVariableInfo.mutableCopyOfStarts(LocalVariableInfo.java:169)
        at com.android.dx.ssa.LocalVariableExtractor.processBlock(LocalVariableExtractor.java:104)
        at com.android.dx.ssa.LocalVariableExtractor.doit(LocalVariableExtractor.java:90)
        at com.android.dx.ssa.LocalVariableExtractor.extract(LocalVariableExtractor.java:56)
        at com.android.dx.ssa.SsaConverter.convertToSsaMethod(SsaConverter.java:50)
        at com.android.dx.ssa.Optimizer.optimize(Optimizer.java:99)
        at com.android.dx.ssa.Optimizer.optimize(Optimizer.java:73)
        at com.android.dx.dex.cf.CfTranslator.processMethods(CfTranslator.java:273)
        at com.android.dx.dex.cf.CfTranslator.translate0(CfTranslator.java:134)
        at com.android.dx.dex.cf.CfTranslator.translate(CfTranslator.java:87)
        at com.android.dx.command.dexer.Main.processClass(Main.java:487)
        at com.android.dx.command.dexer.Main.processFileBytes(Main.java:459)
        at com.android.dx.command.dexer.Main.access$400(Main.java:67)
        at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:398)
        at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:245)
        at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:131)
        at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:109)
        at com.android.dx.command.dexer.Main.processOne(Main.java:422)
        at com.android.dx.command.dexer.Main.processAllFiles(Main.java:333)
        at com.android.dx.command.dexer.Main.run(Main.java:209)
        at com.android.dx.command.dexer.Main.main(Main.java:174)
        at com.android.dx.command.Main.main(Main.java:91)

其他项目按预期构建。我想我需要增加这个 java 构建步骤的堆大小?但是怎么做呢?

最佳答案

Xamarin Studio 中有一个选项可以增加 Java 堆大小。

项目选项 -> Android 构建 -> 高级 -> Java 堆大小。

关于android - 如何在 MonoDevelop 中编译 MonoDroid App 时修复 "OutOfMemoryError: java heap space",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13523257/

相关文章:

macos - 如何在 Mac OS X 上将 OpenSSL 构建为 32 位 (i386)?

linux - RPM - 安装时间参数

build - Sublime Text 2 通过简单的批处理文件构建

android - Gradle:构建Android库后如何运行自定义任务?

javascript - grunt-concat 分隔符选项?

macos - 如何在 mac 上安装 build-essential?

build - 将 Gradle 脚本从根目录导入子项目

gradle - 如何更改使用 shadowjar 创建的 jar 的名称

c# - 构建失败。有关详细信息,请参阅构建日志

java - Eclipse Gradle 构建 "Could not find tools.jar