[Titanium Mobile] SDKをSourceからBuildしてみる
Androidアプリを作成しているときにソースコードを修正しないと解決しない問題に遭遇したので、ソースコードからビルドしてみたときの覚書。
環境: Mac OS X 10.8.4, Titanium SDK 3.1.1.GA
参考にしたのは下記。
SConsというビルドツールを利用するようなのでMacPortsからインストールする。
$ sudo port selfupdate
$ sudo port install scons
2.3.0がインストールされた。
次はAndroid NDK(Native Development Kit)のインストール。下記サイトからダウンロードして適当なディレクトリに解凍する。
環境変数を追加
$ vi ~/.bash_profile
#Android NDK
ANDROID_NDK=/Applications/android-ndk-r8e
export ANDROID_NDK=${ANDROID_NDK}
export PATH=$PATH:${ANDROID_NDK}
$ source ~/.bash_profile
titanium mobileのソースコードをダウンロードする。GitHub for Macを利用すると簡単。
ビルドしてみる。
$ cd /Users/daiki/Documents/GitHub/titanium_mobile/
$ scons android=1 android_sdk=/Applications/android-sdk-macosx/ PRODUCT_VERSION=3.1.2
失敗。。。
ndkのバージョンr8eはいくつかファイルを修正しないとビルドできないらしい。下記記事を参考に3ファイルを修正。
$ scons android=1 android_sdk=/Applications/android-sdk-macosx/ PRODUCT_VERSION=3.1.2
You don't have pyyaml!
またエラー。言われた通りにインストールコマンドを実行してみる。
# sudo easy_install pyyaml
build/temp.macosx-10.8-intel-2.7/check_libyaml.c:2:10: fatal error: 'yaml.h' file not found
libyamlが必要らしい。
$ sudo port install libyaml
$ sudo easy_install pyyaml
$ scons android=1 android_sdk=/Applications/android-sdk-macosx/ PRODUCT_VERSION=3.1.2
完了するとdist/mobilesdk-3.1.2-osx.zipが出来た。
$ unzip dist/mobilesdk-3.1.2-osx.zip dist/
解凍するとmobilesdkとmoduleがある。moduleは変更してないので、mobilesdkだけコピーしてみる。
$ cp -r dist/mobilesdk/osx/3.1.2 ~/Library/Application\ Support/Titaniu
m/mobilesdk/osx/
このSDKを使うように設定ファイルを修正。
$ cd
$ vi .titanium/config.json
tiapp.xmlの「sdk-version」も変更してビルドしてみる。
$ titanium build -p android --log-level debug --target device
これでソースを変更する環境が整った。
< Related Posts >