Cordova で iOS, Android エミュレータの起動がうまくいかない場合の対処法
はじめに
Cordova でエミュレータの起動がうまくいかないときに見るポイント(やること)をまとめた。
※自分がハマった箇所の解決方法しか書いてない
TL;DR
- iOS
npm i -g ios-sim
でios-sim
をインストール--buildFlag='-UseModernBuildSystem=0'
をつける
- Android
- cordova-android Issue #608 でないか確認する
目次
環境・条件
1 | $ sw_vers |
詳細
iOS
ios-sim インストール
ios-sim
を入れてなければインストールする。
1 | $ npm install ios-sim -g |
mac なら brew install ios-sim
でも OK。
buildFlag=’-UseModernBuildSystem=0’ でビルド・デプロイ
(これは環境によると思うけど)cordova build
, cordova run
のときに --buildFlag='-UseModernBuildSystem=0'
をつける。
1 | $ cordova build ios --buildFlag='-UseModernBuildSystem=0' |
Android
platforms/android/cordova/lib/emulator.js を修正する
エミュレータは起動するけどアプリがデプロイできないときは cordova run android
した結果を確認する。
1 | $ cordova run android |
error: device still authorizing
で失敗している場合は、Device still authorizing issue · Issue #608 · apache/cordova-android の問題と思われる。
platforms/android/cordova/lib/emulator.js
の L348 あたりを修正すれば OK。
1 | - (error.message.indexOf('device still connecting') > -1)) { |
まとめ
- iOS
npm i -g ios-sim
でios-sim
をインストール--buildFlag='-UseModernBuildSystem=0'
をつける
- Android
- cordova-android Issue #608 でないか確認する
参考文献
- ios-sim - npm
- No virtual devices found - Ionic Cordova Emulate iOS - Stack Overflow
- Cordovaでinfo.plistもしくはxcarchiveがないって言われた時の対処法 - Qiita
- CordovaでiOS simulatorを指定する - Qiita
- cordova - Failed to execute shell command “getprop,dev.bootcomplete”” on device: error for Android - Stack Overflow
- Device still authorizing issue · Issue #608 · apache/cordova-android
関連記事
- Cordova でアプリ名やアプリのバージョン情報などを取得
- Cordova で端末やエミュレータを指定してデプロイする
- Cordova QR コードスキャナのプラグイン追加でビルドできない問題の対応方法
- Cordova で Repro とカスタム URL スキームを使ってディープリンクを扱う
- Cordova で Splash Screen を設定する cordova-plugin-splashscreen
- Cordova でネイティブダイアログを呼び出す cordova-plugin-dialogs
- JavaScript で URL のクエリパラメータを操作する方法
- jQuery Select2 で、初期値の設定と選択状態のクリア