Sencha Touchで作るハイブリットアプリの環境構築まとめ - Sencha Cmd v5.0.x - その2
前回
Sencha Touchで作るハイブリットアプリの環境構築まとめ - Sencha Cmd v5.0.x - その1
http://blog.tnker.com/112
前回アプリケーションの各プロジェクト一式の準備、試しにビルドしてみるところまでやりました。
今回は、ビルドして生成された各プロジェクトをエミュレータを介して実行するところまでをやっていきます。
ちなみに、前回のプロジェクトディレクトリの状態は次のような感じになってると思います。:)
プロジェクトディレクトリの名称が「demo」から「cordova」に変わってますが、これは名称が気にくわなかっただけなので、気にしないでください :(
エミュレータで起動してみる
ターミナルからプロジェクトのカレントディレクトリに移動し、下記コマンドを実行します
$ sencha app emulate
すると、app.json に記載されたOSのビルド実行後、対応するエミュレータが起動します。
Androidでの注意事項
Androidの場合、SDKへのPathが通っていないといけないので、次のような環境パスを .bashrc
なり、.profile
に記述してください。
export PATH=/xxx/xxx/sdk/platform-tools:$PATH
export PATH=/xxx/xxx/sdk/tools:$PATH
export ANDROID_HOME=/xxx/xxx/sdk
※
/xxx/xxx/sdk
がAndroidSDKのディレクトリになります
Android側のスクリーンショットは取り忘れてしまいました(´・ω・`)
エミュレータのターゲット切り替え
Android側は、初期の状態だとずいぶん昔のエミュレータが起動してしまうので、Android Studioを起動してもらって下記画像部分にあるボタンを押下してエミュレータを新規作成しておきます。
ピンクの枠部分です
追加出来たらターミナルに戻って、指定できるエミュレータのIDを確認していきます。
iOSの場合
プロジェクトのカレントディレクトリで下記コマンドを実行
$ ./cordova/platforms/ios/cordova/lib/list-emulator-images
すると次のような一覧が出てくるかと思います
"iPhone (Retina 3.5-inch)"
"iPhone (Retina 4-inch)"
"iPhone"
"iPad"
"iPad (Retina)"
これが、ターゲットに指定できる端末一覧になります。
Androidの場合
$ android list avds
とやってあげると、次のような作成済みのエミュレータ一覧が出てくるので、その中のName部分を利用します。
Available Android Virtual Devices:
Name: cordova_1 <-ココ!!
Device: Cordova 1 1 (User)
Path: /Users/tnker/.android/avd/cordova_1.avd
Target: Android 4.4.2 (API level 19)
Tag/ABI: default/x86
Skin: 320x568
Sdcard: /Users/tnker/.android/avd/cordova_1.avd/sdcard.img
Snapshot: no
それぞれにエミュレータのターゲットを指定する
続いて、利用したいエミュレータ名を app.json
の各プラットフォームの target
プロパティに追記します。
"builds": {
"ios": {
"packager": "cordova",
"cordova": {
"config": {
"id": "com.tnker.App",
"platforms": "ios",
"target": "'iPhone (Retina 4-inch)'"
}
}
},
"android": {
"packager": "cordova",
"cordova": {
"config": {
"id": "com.tnker.App",
"platforms": "android",
"target": "'cordova_1'"
}
}
}
}
※ target の指定部分は、ちゃんと文字列で渡されるように念のため
''
で囲ってあります
これで、先ほどと同じように
$ sencha app emulate
を実行してあげると
といった具合で、指定したターゲットの ios と androidエミュレータが起動します。
片方だけで起動させたい場合は、
$ sencha app emulate ios
もしくは
$ sencha app emulate android
としてあげれば片方だけ起動してくれます。
あとは、通常の Sencha Touch を実装する際と同じような感じでやっていけば基本的には問題ないです。:)
cordovaのプラグインを入れてごにょごにょするといった場合の記事も、後ほど別エントリーで書こうと思っとりまする :)
それではでは。