CordovaでAndroidエミュレーターにビルドしたい
WindowsでCordovaでAndroidビルドする
Cordovaの準備
Cordovaをインストールする
npm install -g cordova
アプリを作る
cordova create hello com.example.hello HelloWorld
Androidを追加する
cordova platform add android
ビルドできるか確認する
cordova requirements
成功すれば下のような感じ
Requirements check results for android: Java JDK: installed 1.8.0 Android SDK: installed true Android target: installed android-27,android-26 Gradle: installed C:\Program Files\Android\Android Studio\gradle\gradle-4.4\bin\gradle
JDKのエラー
SDKはここから
http://www.oracle.com/technetwork/java/javase/downloads/index.html
でも8じゃないと多分こんなエラーが出る。
CordovaError: Requirements check failed for JDK 1.8 or greater
最新(今は10)をアンインストールしてこっちから8をダウンロードする
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Android SDK, Android targetのエラー
Android Studioが必要
Android Studio->File->Settings->System Settings->Android SDKからインストールする
Gradleのエラー
Macで試したときに起きたエラー
Gradle: not installed Could not find an installed version of Gradle either in Android Studio, or on your system to install the gradle wrapper. Please include gradle in your path, or install Android Studio
普通にbrewでインストールすれば良いっぽい
brew install gradle
エミュレーター起動
これで起動すれば良いけど。
cordova emulate android
このエラーがでてダメだった。
TypeError: Cannot read property 'semver' of null
調べたら以下のサイトがヒットした。
エラーが出る箇所無くても起動はするのでコメントアウトすれば一応動く。 問題があるかはいまいち分かりませんでした。
Macだとこんなエラーが出て一応エミュは起動するけど動かない。というより重いのか?
Running an x86 based Android Virtual Device (AVD) is 10x faster. We strongly recommend creating a new AVD.
エミュレーターを選択すれば良さそうだけど、Windowsでは動いたので、それはまたいつか。WindowsではAndroid Studioで作ったエミュレーターが自動で選択されている。
ビルドして実行
これで実行できるはず。
cordova build android cordova run android