Androidアプリケーション配布前にやること

AndroidアプリケーションをAndroid Marketで公開するには、ちゃんと署名する必要があります。
また、アプリケーションのバージョン設定などマニフェストファイルを正しく設定する必要があります。
本エントリでは、Android Market公開前の準備作業をまとめます。
なお、Android Marketへの開発者登録については、割愛します。


(やること)

    1. マニフェストファイル(AndroidManifest.xml)設定
      • アプリケーションのバージョン設定
      • アプリケーションのアイコン設定
      • アプリケーションのラベル設定
    2. アプリケーションへの署名

マニフェストファイル(AndroidManifest.xml)設定

  • バージョン設定

アプリケーションのバージョン表示やアップグレードの時に使う情報を設定します。

    • android:versionCode : アプリケーションのアップグレードが必要かどうかを判断する際に使用する(整数値)
    • android:versionName : ユーザに表示される文字列
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      android:versionCode="1"
      android:versionName="1.0.0">
(中略)
  • アイコン設定

resフォルダのdrawable-xxxx以下にアイコン用のPNGファイルを用意します。

    • drawable-hdpi : 高解像度向け
    • drawable-ldpi : 低解像度向け
    • drawable-mdpi : 中解像度向け

設定は以下のパラメータで行います

  • ラベル設定

ランチャー画面等でアイコンの下に表示される文字列を設定します。

<application android:icon="@drawable/icon" android:label="@string/app_name">
(中略)

アプリケーションへの署名

Java SDKに付属されているkeytoolコマンドとjarsignerコマンドを使用します。

  1. 鍵と証明書の作成
keytool -genkey -keystore ~/.android/android-apps.keystore -validity 10000 -alias android-apps

上記コマンドを実行すると、以下の項目を聞かれますので、適切な設定をしてください。

    • キーストアのパスワード
    • 姓名
    • 組織単位
    • 組織名
    • 都市名または地域名
    • 州名または地方名
    • 国番号(jp)

コマンドオプションの意味は以下のとおりとなります。

    • -genkey : 秘密鍵と公開鍵の生成
    • -keystore : 秘密鍵と証明書を格納するキーストアのファイル名の指定
    • -validity : 有効期間(推奨は10000日)
    • -alias : 生成した鍵をキーストアで特定する名前
  1. アプリケーションの署名

作成したAndroidアプリケーション(apk)を署名します。

$ jarsigner -keystore ~/.android/android-apps.keystore -verbose sample-app.apk android-apps
キーストアのパスワードを入力してください:
(中略)
署名中: classes.dex

コマンドオプションの意味は以下のとおりとなります。

    • -keystore : キーストアファイル
    • -verbose : 詳細情報を表示


これでアプリケーション配布の準備が完了しましたので、あとはAndroid Marketへ公開するだけです。