Titanium mobile -- Android でrequire()エラー

(TitaniumのAndroidってまだまだやなぁ)

CommonJSに準拠しているっていうから、require()を利用して関数を共通化していたのに、
Androidエミュレーター上でエラーが出て、実機上だとOKになるケースが発生。
ちなみに、iOSでは全く問題ない。

エラー内容

Message: Wrapped java.lang.IllegalArgumentException: size must be >= 0 (file:///android_asset/Resources/app.js#1)

環境

  • mac OSX
  • Titanium studio (ver: 1.7.2)
  • Android OS : API 2.2

原因

Android のビルド時にFastDevを利用したモードの場合だと、require()できないみたい。
サイテー!

対応方法

FastDevを利用しないこと。しかし、ビルドに時間がかかりすぎるのでそれは避けたい。
どうすれば良いのか?? 調査中ですが厳しい感じ。今のところ実機でやるのがベター!?

FastDev の停止方法*1

tiapp.xmlをコード編集で開いて以下1の1行を  の後ろに追加する

false

*1:1回のビルド時間が長いというデメリットあり