Titanium MobileでAndroidアプリ = 茨の道

Titanium Mobile。
JavaScriptでiOS・Androidのアプリが作れちゃう凄いヤツ。

JavaScript + xml(設定ファイル)で実行可能なアプリを作れます。
JavaScriptからネイティブコードを呼び出す形になっています。

iOSの方は詳しく見ていないのですが、Androidの方は設定から動的にActivityやらManifestやらを生成していました。
JavaScriptインタプリタで動作させるとのことで、ネイティブに比べると少し重いみたいです。

WindowsXPでTitanium Studio + Titanium Mobile SDK 1.7.2を導入しました。
導入から新規プロジェクト作成→ビルドまではうまくいったのですが…

画像が出ない!
Windowsを再起動して実行し直すと画像が初回のみ出る…

下記ページで応急処置的なものが書かれていました。
Titanium 1.7.0 ImageView not displaying remote images » Community Questions & Answers » Appcelerator Developer Center

SDカードを外した状態で動かすと画像が出るとのこと。
私の環境でも試したところ、無事画像が表示されました。
しかしSDカードを使うアプリを使う場合は、使えそうにないですね…

この画像が出ない症状を調査するだけで1日かかってしまいました…orz

原因と対処方法

・原因
fastDev機能(Androidエミュへのインストールが高速化される)をOnにするとWindows版の開発環境で画像が出なくなる。
(何故でなくなるかまでは調べきれていません…)

・対処方法
下記コードをtiapp.xmlに追加することでfastDev機能がOFFになり画像が出るようになります。
しかし、fastDevを使わない場合のエミュへのインストールはかなり遅いです…

<property name="ti.android.fastdev" type="bool">false</property>

Macでの開発だとこの画像が出ない症状は起こらないらしいです。
Windowsでの開発は難しいかもしれません^^;

以上です。

One Response

Leave a Reply