技術

【Android/ionic】これさえやればOK!アプリ公開への道

投稿日:2015年9月2日 更新日:

どうも、中田です。

ionicでHTML5/CSSハイブリッドアプリ開発してるんですが、
GUIでなくコマンドプロンプトからアプリ公開の準備をすることになりました。
細かいことは置いといて、これやればOK手順をまとめときます。

Android用リリースビルド

$ ionic build --release android

keystore作成

$ keytool -genkey -v -keystore XXXXX.keystore -alias YYYYY -keyalg RSA -validity 10000
XXXXXは任意で。
YYYYYはキーストアの中の証明書と鍵ペアの識別alias

jarファイルにデジタル署名

$ jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore /(keystoreディレクトリ)/XXXXX.keystore /(ionic作業ディレクトリ)/platforms/android/build/outputs/apk/android-armv7-release-unsigned.apk YYYYY
YYYYYはキーストアの中の識別alias

zipalignする(*後述)

$ /(AndroidSDKのディレクトリ)/sdk/build-tools/(SDKバージョン)/zipalign -v 4 /(ionic作業ディレクトリ)/platforms/android/build/outputs/apk/android-armv7-release-unsigned.apk /(ionic作業ディレクトリ)/platforms/android/build/outputs/apk/android-armv7.apk

はい、これで /(ionic作業ディレクトリ)/platforms/android/build/outputs/apk/配下にapk ファイルができましたので、
これをGooglePlay DeveloperConsoleにアップして晴れて公開できるという流れです。


細かいこと

最初に細かいことは置いてしまったので、書いていこうかと思います。

keystoreについて

keystoreとは、証明書と鍵のペアを複数まとめたファイルでkeytoolを用いて操作していくものです。
普段はkeystoreに複数のペアが入っていて、keytool -list -v -keystore XXXXX.keystoreで内容を見たりできます。

facebookとかでhashが必要になる場合は、このように。。
keytool -exportcert -alias YYYYY -keystore /(keystoreディレクトリ)/XXXXX.keystore | openssl sha1 -binary | openssl base64

jarsignerについて

これは読んで時の如く、jarファイルにsign(署名)するものです。
このアプリは私が作りました!という証明のためのものです。

アプリ公開は自分で作った秘密の鍵で、アプリにデジタル署名してGooglePlayに上げます。
アプリバージョンアップの際、GooglePlayさんは前回と違うデジタル署名がされてたら、
「前回と違くね?作った人違うからだめだよ」と言って公開をさせてくれません。

なので、上段で話に出たkeystoreは大事にしておきましょう。

zipalignについて

簡単に言うと最適化。
作成したアプリをAndroid端末から効率よくアクセスしてもらうために、
4バイトのバウンダリに整頓してくれるコマンドです。

これをしないと、メモリの消費量が上がったり、パフォーマンスにも影響してくるということなので、
やっとくべきものですね。

ちなみにこのコマンドで実施済みかどうかが分かります。
zipalign -c -v 4 ZZZZZ.apk

実施済みなら
Verification succesful
実施済みでないなら
Verification FAILED

以上!

-技術
-,

執筆者:


comment

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

no image

[Rails] deviseのパスワード認証を半角英数字だけ許可する

こんばんは ログイン機能を作る時ってdeviseが便利ですよね。 ですが、デフォ …

JavaScriptでクリップボードにテキストをコピーする!

こんにちは。たなかです。 ブラウザに表示されている、自動採番されたIDをクリップ …

Siriに笑って欲しいから [iOS 11、macOS High Sierra](「Siri」の笑い声まとめ)

iPhone Xが発売されて巷はiPhone Xの記事ばかり。 なんとなく見てい …

[Xcode] SDK Version Issue – This app was built with the iOS 12.0 SDK. Starting March 2019, all iOS apps submitted to the App Store must be built with the iOS 12.1 SDK or later, included in Xcode 10.1 or later.

こんにちは。たなかです。 2019年、ブログ初更新になります。今年もよろしくお願 …

Slack Tasker系アプリで絵文字ステータスを自動設定(android 「Automate」)

Slackの絵文字ステータス、皆さん使っているでしょうか? 私は自分の居る場所に …