Titanium SDK をソースからビルドする方法

1.8.2 での既知のデグレの修正をいち早く取り込みたかったので、
Titanium SDK のソースからビルドを試してみた。
ついでに高速化 Tips も。

準備

いくつかインストールしておく必要がある。

SCons

Titanium SDK のビルドに利用しているツール。
http://www.scons.org

Android NDK

C/C++ を利用する場合に必要なもの?
http://developer.android.com/sdk/ndk/index.html

PyYAML

Titanium Studio のコードアシスト用のファイル生成まわりで使っている様子。
http://pyyaml.org

ビルド

まずはチェックアウト。
1.8.2 の場合。

$ git clone https://github.com/appcelerator/titanium_mobile
$ cd titanium_mobile
$ git checkout 1_8_2_GA

次に Android SDK/NDK のパスを設定。
android/build/build.properties を作成して以下の内容を記載。

android.sdk=(Android SDK のパス)
android.ndk=(Android NDK のパス)

あとは以下を実行すると SDK ができる。
PRODUCT_VERSION は生成後の名前。
Titanium Studio とかでの表示名になる。

$ scons android_sdk=(Android SDK のパス) PRODUCT_VERSION=my-1.8.2

完了すると dist ディレクトリに mobilesdk-my-1.8.2-osx.zip としてできあがってる。

高速化

CCACHE を使った高速化がここで紹介されてます。
手元では6分半が1分に!
http://kazkonno.tumblr.com/post/15779298307/building-titanium-mobile-sdk-from-source