アプリケーションのヴァージョン情報を設定する


今回はAndroidアプリケーションのヴァージョン情報についてです。
Androidアプリケーションのヴァージョン情報には以下の2種類があります。

  • android:versionCode:アプリケーションのヴァージョンを示す整数値
  • android:versionName:リリースのヴァージョンを示す文字列値

これらのヴァージョン情報は常にセットで定義するよう推奨されています。

android:versionCode

android:versionCodeはアプリケーションのヴァージョンを示す整数値です。

この値はアプリケーションをヴァージョンアップするごとにインクリメントする必要があります。
Android Marketにアプリケーションをアップデートする際にこの値が登録されているものよりも
大きな値になっているかがチェックされるからです。

また、このヴァージョン情報がユーザに表示されるものではありませんが、
アプリケーションの管理画面でこの情報を確認することができます。

android:versionName

android:versionNameはリリースのヴァージョンを示す文字列値で、自由に記述することができますが
「1.0.0」といった形式で記述するのが一般的のようです。
また、この情報はAndroid Marketでアプリケーションのヴァージョンとしてユーザに伝えられます。

では、続きからマニフェストファイルの設定です。

マニフェストファイルにヴァージョン情報を定義する

android:versionCodeとandroid:versionNameを以下のように
マニフェストファイルに定義します。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="org.jpn.techbooster.getScreenSize"
      android:versionCode="1"
      android:versionName="1.0.0">
       ...
</manifest>

android:versionCodeに整数値、android:versionNameに文字列値を与えます。

アプリケーションからヴァージョン情報を取得する

これらのヴァージョン情報をアプリケーションから取得したい場合は、
getPackageInfoメソッドを使って取得します。

PackageInfo packageInfo = null;
TextView tv = (TextView)findViewById(R.id.TextView);
try {
        packageInfo = getPackageManager().getPackageInfo("org.jpn.techbooster.getScreenSize", PackageManager.GET_META_DATA);
} catch (NameNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
}
tv.setText("versionCode : "+packageInfo.versionCode+" / "+"versionName : "+packageInfo.versionName);

4 Comments