Cordovaのインストール
Cordovaを使うと、ReactアプリをiOS, Androidで実行することができる。
npm install cordova
cordova create myapp
cd myapp; cordova platform add browser
※スマホアプリの場合はbrowserではなくiosやandroidを指定するcordova run browser
で実行
Cordovaプラグイン
カメラや位置情報を利用するには、Cordovaプラグインをインストールする必要がある。
https://cordova.apache.org/docs/en/latest/guide/support/index.html
Deviceプラグインのサンプル
cordova plugin add cordova-plugin-device
- myapp/www/js/index.jsのonDeviceReadyメソッドに追記
alert(`model:${device.model}, platform:${device.platform}`);
Cordovaを使ってAndroidでHTML・JavaScriptを表示・実行する
事前にAndroid SDKのインストールとPathの設定が必要。
- Android SDK
Android Studio(IntelliJ IDEA)の設定⇒languages⇒Androidでインストール可能。
※cordova platform add android
で作成されるbuild.gradleに必要なSDKバージョンの記載あり。 - Path設定https://cordova.apache.org/docs/en/latest/guide/platforms/android/index.html
cordova create cordova-android; cd cordova-android;
cordova platform add android
- wwwフォルダにhtmlとjsを格納
イベントハンドラの登録はonDeviceReadyイベント内で行う必要がある(デフォルトのindex.jsに定義あり) - config.xmlを修正
<widget id="io.cordova.todoapp" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>TodoApp</name>
cordova run android
で実行
Cordovaを使ってAndroidでReactアプリを実行する
Reactアプリの作成
create-react-app todo-on-cordova
cd todo-on-cordova; npm install react-router-dom
- ReactアプリをCordovaで動かすには以下が2つが必要。
※ pakage.jsonに”homepage”: “./”,を追加
※ルーティングはHashRouterを使う - npm run build
Cordovaでandroidアプリの作成
cordova create cordova-todo
cd cordova-todo; cordova platform add android
- Reactアプリのbuildディレクトリ配下をwwwディレクトリにコピー
- androidプロジェクトを作成し、ADVマネージャからエミュレータを起動
cordova run android