=== 目次 ===
バージョンネーム/バージョンコードの意味
プロジェクトのバージョンネーム/コードはモジュールレベルのbuild.gradleで確認できます。
build.gradle
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.areseiproject"
minSdkVersion 15
targetSdkVersion 28
versionCode 1 //←これ
versionName '1.0-beta' //←これ
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
productFlavors {
}
}
これらの意味は何なのでしょうか?以下にこれらの意味を説明します。
バージョンコード(versionCode)
バージョンコード(versionCode)はユーザには直接見せない内部的なアプリのバージョンです。以下のような特徴があります。
- 自然数の値のみが可能です。
- アプリを更新したときは必ず値を大きくする必要があります。(連続している必要はありません)(最大値は2100000000です)
- Google Play Consoleには同一のバージョンコードのアプリファイルを複数アップロードすることはできません。
- Google Play Consoleや Firebase Crashlyticsで表示されるバージョン名はこれです。
バージョンネーム(versionName)
バージョンネーム(versionName)はユーザに表示するためのバージョン名です。以下のような特徴があります。
- 必ず値を設定する必要はない
- 任意の文字列を設定可能(特にルールはありません)
変更方法
バージョンコード/ネームの変更方法を紹介します。変更方法には2通りの方法があります。
モジュールレベルのbuild.gradleを直接編集する
モジュールレベルのbuild.gradleを直接して、SyncNowすれば変更は完了です。
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.areseiproject"
minSdkVersion 15
targetSdkVersion 28
versionCode 1 //←これを変更
versionName '1.0-beta' //←これを変更
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
productFlavors {
}
}
Android StuidoのProject Structureから編集する
Android StudioにおいてFile -> Project Structureを開きます。
変更後はSyncNowを実行します。

取得方法
最後にアプリ内でコードから動的にバージョンコード/ネームを変更する方法を紹介します。バージョンコード/ネームを取得するためには、以下のようにBuildConfigオブジェクトのメンバーを参照するだけです。
int VersionCode = BuildConfig.VERSION_CODE;
String VersionName = BuildConfig.VERSION_NAME;