倭マン's BLOG

くだらない日々の日記書いてます。 たまにプログラミング関連の記事書いてます。 書いてます。

「はじめての Android」開発環境 〜IDEA 編〜 (5) : Android プロジェクトの署名&パッケージング

今回は Android プロジェクトの署名&パッケージング方法を見ていきます(一覧)。 今回見ていく方法で署名された apk ファイル*1が生成されます。

記事概要:

  • 署名&パッケージングする前に・・・
  • 初めての署名&パッケージング
  • 2度目以降の署名&パッケージング
  • 既存のキーストアを使用して署名&パッケージング

署名&パッケージングする前に・・・


パッケージングの開始

IDEA 上でパッケージングを行うには、まず

[メニュー] : Tools → Android → Export Signed Android Package

から開始します。 以下で説明する方法を行うには、すべてこれから始めて下さい。

debuggable=true

公開するアプリがデバッグ可能状態で出荷されるとまずいので、AndroidManifest.xml で「debuggable=true」が指定されているままパッケージングしようとすると注意を喚起してくれます:

Warning: The manifest 'debuggable' attribute is set to true.
You should set it to false for applications that you release to the public.

もちろん true 設定を修正すべし。 「debuggable」は androidManifext.xml の /manifest/application ノードの属性で設定されています。

再ビルドが必要

プロジェクトの再ビルドが必要な場合も注意喚起してくれます:

この場合、パッケージングをやめて「再ビルド」&「エミュレータで実行」してみた方がイイでしょうね。

初めての署名&パッケージング


では、署名&パッケージングの方法を見ていきましょう。

初めて署名&パッケージングを行う場合は、新たにキーストアを作成する必要があります(既に生成してあるキーストアを使用する場合は以下の『既存のキーストアを使用して署名&パッケージング』を参照)。 ここでは Android プロジェクトのルート・フォルダ(この記事では「C:\idea\HelloAndroid」としてました)下に「.keystore」という名前でキーストアを出力することにしましょう。 この場合、ファイルのロケーション (Location) は「C:\idea\HelloAndroid\.keystore」となります*2。 キーストアのパスワードと鍵パスワードの2つがあるのがちょっと注意でしょうか(同じパスワードでも構いません):










これで apk ファイルの生成は完了。 キーストアの設定は、最初の1度だけすれば2度目以降は必要ありません。 むしろ署名が変更されるとまずいでしょうね。 2度目以降の方法は次を参照。

2度目以降の署名&パッケージング


次は2度目以降の署名&パッケージング方法。 キーストアのパスワードと鍵パスワードは毎回入力する必要がありますが、それ以外は特に設定などはありません。





これ以降は「初めての署名&パッケージング」(の途中から)と同じ

既存のキーストアを使用して署名&パッケージング


既存のキーストア(例えば IDE とは別途、keytool などで生成したキーストア)を使用する場合は、そのキーストアを指定する作業がありますが、それ以外は「2度目以降の署名&パッケージング」と同じです。







後は「2度目以降の署名&パッケージング」と同じ

以上で「署名&パッケージング」完了。 ダイアログで表示される通りにやっていけば特に問題ないかと。

初めてのAndroid 第3版

初めてのAndroid 第3版


Javaセキュリティ

Javaセキュリティ

*1:apk ファイル自体が署名されている前提? まぁいいや。

*2:いろいろな成果物に同じ署名を使用したい場合、「${user.home}/.keystore」などのように、プロジェクトに依存しない場所にキーストアを配置した方がよいかと思います。