[Adobe AIR] なんか Android ビルドで dx tool failed

Posted: 2014-05-07
Category: AdobeAIR
Tags: #AdobeAIR #Android

現象

  • ANE とか増やしたり AIR 13 にバージョンアップしたりしてたら、 いつの間にか apk のコマンドラインビルドでこんなエラー出るように
  • (iOS のビルドは問題なかった)

    dx tool failed:
    UNEXPECTED TOP-LEVEL ERROR:
    java.lang.OutOfMemoryError: Java heap space
        at java.util.ArrayList.<init>(ArrayList.java:112)
        ...
    

  • まあメッセージにある通り、JVM のメモリ食うようになったんだろう
  • ヒープサイズのデフォルトっていくらくらいの設定?

【参考】JVMヒープサイズのデフォルト値は?

・J2SE 5.0以降
初期値:物理メモリの 1/64
最大値:物理メモリの 1/4(上限1GB)
(物理メモリが1GBより小さい場合、最大値は物理メモリの1/2)

  • メモリ 8 GB のマシンだと 128 MB ってことか

解決法

  • ビルドコマンドに以下を挟んで最大値を 256 MB に設定してみる

    export _JAVA_OPTIONS="-Xmx256M"; \
    adt -package -target apk-captive-runtime ...
    

  • ビルド成功した

参考リンク