title: Ant build from Android-generated build file fails - how to fix?
body: <p>Building our Android app from Ant fails with this error:</p>
  
  <pre><code>    [apply] 
      [apply] UNEXPECTED TOP-LEVEL ERROR:
      [apply] java.lang.OutOfMemoryError: Java heap space
      [apply]     at java.util.HashMap.&lt;init&gt;(HashMap.java:209)
      [apply]     at java.util.HashSet.&lt;init&gt;(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
  </code></pre>
  
  <p>Ive tried giving Ant more memory by setting ANT_OPTS="-Xms256m -Xmx512m". (This build machine has 1Gb RAM).</p>
  
  <p>Do I just need more memory or is there anything else I can try?</p>