##cordovaをwindows10環境でandroid端末向けにビルドする手順
※個人的な備忘録なので結構雑です。
##Cordova公式サイト
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