Pragmatic ball boy

iOSを中心にやってる万年球拾いの老害エンジニアメモ

TitaniumでAndroidアプリ

今月のWEB+DB PRESSにも載っていましたが
Titaniumを使ってAndroidアプリの開発をはじめてみました。

というのもJavaScriptの勉強もしているので、ちょうどいいかなと思った次第です。


簡単に動かせるかなと思ってたわけですが、サンプルを起動するまでに約一日格闘してしまいました。。


手順(OS X):
すでにAndroid SDKが入っているものとしての手順です。

まずはTitaniumをダウンロード

Titanium
http://www.appcelerator.com/products/download/

dmgファイルをダブルクリックして
TitaniumDeveloperをApplicationファイルにドラック&ドロップ

TitaniumはAndroid1.5くらいまでしかサポートしていないので、
最近のAndroidSDK(2.2以降)ではちょっと手を加える必要があります。
というのもAndroidSDKのadbの入っているフォルダが"tools"から"platform-tools"に変わったからです。
なので、adbをtools以下にコピーするかシンボリックリンクをはる必要があります。

#cd AndroidSDKのディレクトリ
#ln -s platform-tools/adb tools/adb

Titaniumを起動し、アカウント登録。

その後、ユーザープロファイル(Titaniumの左上の下図のアイコンの一番右の人のアイコン)を開く。

そこで、AndroidSDKのPathを設定します。


続いて、サンプルの入手です。以下のファイルをダウンロードして解凍。

KitchenSink(サンプルアプリケーション)
https://github.com/appcelerator/KitchenSink/tree/master/KitchenSink

Projects(Titaniumの左上の下図のアイコンの一番左のかばんのアイコン)を開く。


上図の右にあるImportProjectを選択して、KitchenSinkを解凍したディレクトリ内のKitchenSinkというディレクトリを選択してインポートします。
インポート完了後、SaveChangesボタンを押すと完了です。

サンプルアプリの起動です。(ここではまりました・・)

PROJECTSの中からKitchenSinkを選択し、
上のメニューのTest & Packageを選択し、RunEmulatorのタブを選んで、その下のAndroidのタブを選択します。
一番下の欄のSDKで「API 2.1」を選択。(私の環境だとAPI x.xだとうまくいって他のだと失敗しました
そしてLaunchボタンを押して起動。

ここでエミュレータの起動はたいていうまくいくと思います。
しかし、いつまでたってもアプリが起動しないことがあります。

対処方法:
まずは、よくタイムアウトしているので、起動しない場合は、エミュレータを立ち上げたままもう一度Launchボタンを押してみてください。

それでもだめな場合、AndroidSDKManagerを立ち上げて(#android)、VirtualDevicesに作られているTitaniumが作ったVirtualDeviceをDelete。
AvailablePackagesでAndroidRepositoryとThird−PartyAdd-onsにあるものを全てインストール。

[ERROR] Failed installing com.appcelerator.kitchensink: pkg: /data/local/tmp/app.apk
AndroidSDKAPI x.xに選択することで解決しました。