Mac での Apache Cordova (PhoneGap) はじめの一歩
Mavericks で Cordova の HelloWorld を Android / iOS シミュレータ確認するまでの流れ
tmux だからハマったり Mavericks だからハマったりするところがちょいちょいある
インストール
npm install cordova -g
node.js をインストールしていない場合は brew install node
とかでインストールしておく
プロジェクト作成
cordova create hello com.example.hello HelloWorld -d
成功したらカレントディレクトリに hello
って名前のディレクトリが作成されるのでそこに移動する
各プラットフォームライブラリインストール
Android
brew install ant brew install android-sdk
インストールされたか確認 実行できたらOK
android -h adb version
cordova platform add android
Android を add しようとしてもできない場合は、 以下のコマンドで Android SDK Manager を起動してエラーメッセージに表示された不足ライブラリをインストールする
android
今回は最新の Android API 一式と Tools/Android SDK Platform-tools, Android SDK Build-tools をインストールした
エミュレータの準備
確認のために自分でエミュレータを作成する必要がある
Android再入門 - エミュレータの作成 - Qiita
高速エミュレータを利用できるように Intel HAXM を導入する
Mavericks の場合は起動しても必ずフリーズしてしまうので以下の hotfix 版をインストールする
Mac OS X 10.9 Mavericks で Intel HAXM を使用した x86 Android Emulator を起動するとシステムがハングする - Xamarin 日本語情報
インストールしたら以下のコマンドで Android Virtual Device Manager を開いて AVD を作成する
android avd
今回の設定項目は以下
.png)
作成したら一覧から選択して「Start」で起動してみる。
しばらく(結構)待って Android のホーム画面が表示されたら成功。
エミュレータ起動
先ほど起動したエミュレータを一回終了して以下のコマンドを実行する
cordova emulate android -d
ビルド後しばらく待ってアプリケーションが起動すれば成功
iOS
シミュレータのインストール
brew install ios-sim
XCode インストールしてない場合は AppStore とかからインストールしておく
cordova platform add ios
シミュレータの起動
cordova emulate ios -d
これでシミュレータ上で動作確認ができる
tmux を利用している場合
tmux 上だとシミュレータを起動しようとしても session timed out
的なエラーが発生してうまく動かないので追加で設定が必要
reattach-to-user-namespace のインストール
brew install reattach-to-user-namespace
.tmux.conf に以下を追記
set-option -g default-command "reattach-to-user-namespace -l zsh"
tmux のセッションを全て終了して再起動
シミュレータの起動コマンドでちゃんと動作するようになる