Toshusai blog

知識の保管庫

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