[要修正] Cordovaでハイブリッドアプリ

[要修正] Cordovaでハイブリッドアプリ – メディアデザイン実習J

Table of Contents

– ハイブリッドアプリとは何か
– ハイブリッドアプリの事例
– PhoneGap/Cordovaの歴史
– 現在
– 方針
– Cordovaはコマンドラインアプリケーション
– Cordovaの準備
– Cordovaでのビルド

 

ハイブリッドアプリとは何か

HTML5、CSS、JavaScriptなどのWeb技術で開発しており、且つカメラやGPSなどのデバイスのネイティブ機能を利用しているアプリのこと。
ブラウザ上で動作するWebアプリとは異なり、Android OSやiOSに標準で組み込まれているWebView上で動作する。

 

HTML5 + CSS + JS というWebの標準技術を使って、スマホ用ウェブページのように作って、Cordova、PhoneGap、Monacaなどでビルドして、ストアに公開すれば配信完了です。

 

おすすめ開発環境とフレームワーク比較

ハイブリッドアプリ開発環境3選

ハイブリッドアプリを作るのに使いたいUIフレームワーク10選

Onsen UI ← Monaca なら
Ionic
AnglarJS
VueJS

 

ハイブリッドアプリの事例

「グランブルーファンタジー」がHTML5で作られていることは有名です。
参考)グランブルーファンタジー(グラブル)はどんな技術で動いているのか

 

PhoneGap/Cordovaの歴史

ニトビ・ソフトウエア社が「PhoneGap」を開発

Adobe Systemsがニトビ・ソフトウエア社を買収。

「PhoneGap」のソースコードをApacheソフトウェア財団に寄贈。

 

現在

「Apache Cordova」 オープンソース。コマンドベース。

「Adobe PhoneGap」 CordovaをAdobeが製品化している。

「Adobe PhoneGap Build」 PhoneGapをサービス化した、ビルドツール。1アプリまで無料。

「Monaca」 PhoneGapを使った国産サービス。

 

方針

この授業では、Apache Cordovaを使用します。
Cordovaを使用する理由は、CordovaがOSSだからです。
Cordovaは無料ですが、一番面倒くさい選択肢です。
他の選択肢では、アプリごとに費用がかかります。
 
皆さんには、スキルさえあれば無料でビルドできる選択肢を持っていてほしいと思います。
結果として「面倒くさい」「よくわからない」「お金を払ってもいい」と思う方は、MonacaやPhoneGapを使ってもらえれば問題ありません。

 

Cordovaはコマンドラインアプリケーション

Apache Cordovaには、残念ながらUIはありません。
つまり、OSの上でコマンドを打てなきゃ話になりません。
ターミナルの話

 

Cordovaの準備

Node.js
JDK
Android Studio
SDK
Cordova

開発環境の構築

 

Cordovaでのビルド

作業ディレクトリにいるものとする

①ビルドします。
cordova build –release
cordova build android –release

// ディレクトリ移動
cd ./platforms/android/app/build/outputs/apk/release/

②署名ファイル作成

鍵ファイル名を「.keystore」とした場合

keytool -genkey -v -keystore .keystore -alias test -keyalg RSA -keysize 2048 -validity 10000

ここでパスワード入力

// 署名を検証しておく
keytool -list -v -keystore .keystore

③APKファイルに署名

APKファイル名を「app-release-unsigned.apk」とした場合
エイリアス名を「AAA」とした場合

jarsigner -verbose -keystore .keystore ./app-release-unsigned.apk AAA -tsa http://timestamp.digicert.com -sigalg SHA1withRSA -digestalg SHA1

④APKファイルの最適化
最適化後のファイル名を「app-opt-release-unsigned.apk」とした場合

zipalign -v 4 app-release-unsigned.apk app-opt-release-unsigned.apk

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です