cordovaをwindows10環境でandroid端末向けにビルドする手順
※個人的な備忘録なので結構雑です。
Cordova公式サイト
Cordovaを導入するための事前準備
Java SE Development Kit 8(Java SDK)
Ant
android SDK
node.js
Gradle
事前準備
Node.jsがインストール済み
Antがインストール済み
Android SDKがインストール済み
Gradle 6.4.0以降がインストール済み
Java SDKのインストールは省略
andのインストールは省略
ダウンロードサイトant
公式サイト(http://ant.apache.org/bindownload.cgi)
からダウンロードして、適当にフォルダに展開する
Antを利用する上で必要となる環境変数ANT_HOMEの設定とPATHの設定を行います。
では「変数名」に"ANT_HOME"、「変数値」に"C:\apache-ant-1.9.4"を入力し
node.jsのインストール
公式サイト(http://nodejs.org/) からダウンロードし、インストール
Cordovaのインストール
コマンドプロンプト(PowerShell)からインストール
npm install -g cordova
アプリを作成
** cordova create hello com.example.hello HelloWorld -d **
このコマンドは、helloディレクトリ以下にアプリの識別子としてcom.example.helloを持つ「HelloWorld」という名前のアプリのプロジェクトを作成します。 -dオプションは、cordovaコマンド実行中の途中経過を表示するオプションです。
プラットフォームを追加
cordova platform add android
実行例
PS C:\Users\XXX\cordova\hello> cordova platform add android
Adding android project...
Creating Cordova project for the Android platform:
Path: platforms\android
Package: com.example.hello
Name: HelloWorld
Activity: MainActivity
Android target: android-23
Android project created with cordova-android@5.2.2
Discovered plugin "cordova-plugin-whitelist" in config.xml. Adding it to the project
Fetching plugin "cordova-plugin-whitelist@1" via npm
Installing "cordova-plugin-whitelist" for android
This plugin is only applicable for versions of cordova-android greater than 4.0. If you have a previous p
latform version, you do not need this plugin since the whitelist will be built in.
プラットフォームの確認
cordova platform ls と入力すると
現在どのようなプラットフォームで開発されているか確認出来る。
android APIの確認。
cordova android list target
cordova platform ls
Installed platforms:
android 6.0.0
Available platforms:
amazon-fireos ~3.6.3 (deprecated)
blackberry10 ~3.8.0
browser ~4.1.0
firefoxos ~3.6.3
webos ~3.7.0
windows ~4.4.0
wp8 ~3.8.2 (deprecated)
サポートするandroidのバージョン
一般的な規則として Google の分布のダッシュ ボード上の 5% を下回ると Android のバージョンになるコルドバでサポートされません。
cordova (Android の API レベル 14 ) アンドロイド 4.0.x 以降をサポートしています。
アプリをビルド
cordova build
実行例
初回、結構時間がかかります
PS C:\Users\xxxx\cordova\hello> cordova build
ANDROID_HOME=C:\Android\sdk
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_31
Downloading http://services.gradle.org/distributions/gradle-2.13-all.zip
Unzipping C:\Users\xxxx.gradle\wrapper\dists\gradle-2.13-all\7hsc6vr6mi3i6i5m7q9hj4ci1q\gradle-2.13-all.zip to C:\Use
:cdvBuildDebug
>..... 途中省略
BUILD SUCCESSFUL
Total time: 8 mins 40.152 secs
Built the following apk(s):
C:/Users/XXXXX/cordova/hello/platforms/android/build/outputs/apk/android-debug.apk
PS C:\Users\kmaeda\cordova\hello>
アプリを実行
cordova run
エミュレータか実機が接続されていれば、androidが起動されて動作確認ができる。
エミュレータは遅いので実機で確認した方が速くて、確実です
ブラウザで確認する
ブラウザで動作することもできます。
cordova serve android
PS C:\Users\hoge> cordova serve android
Static file server running on: http://localhost:8000 (CTRL + C to shut down)
リリース版を作成
cordova build android --release
#署名付きAPKの作成
鍵の作成
keytool -genkey -v -keystore .keystore -alias <エイリアス名> -keyalg RSA -validity 10000
上記では、10000日間有効な.keystoreという鍵ファイルを作成しています。
エイリアス名は、プロジェクト名でよいと思います。
鍵の確認
keytool -list -v -keystore .keystore -storepass <パスワード>
apkに署名をつける
jarsigner -verbose -keystore <キーストアファイル> <アプリ.apk> <エリアス名>
署名の確認
jarsigner -verify -verbose -certs <アプリ.apk>
最適化
アライメントを設定する
apk内のリソースファイルなどの未圧縮データを4バイトバウンダリに整列。
** zipalign [-f] [-v] infile.apk outfile.apk**
アライメントが正しく設定されたか確認する
zipalign -c -v existing.apk