APKファイルとIPAファイルのバージョン情報をコマンドラインから確認する
apkファイルとipaファイルのバージョン情報をコマンドラインで確認する方法を備忘録として残しておきます。
apkとipaのバージョン情報について
apkファイル及びipaファイルのバージョン情報は、ストア申請のときのバージョニング情報として利用されるものです。それぞれ公式に詳細が記載されています。
両OSともにx.y.zというバージョンの文字列と、バージョンの一意性を表す数字が定義されています。微妙に呼び名が異なるので注意が必要です。
| OS | バージョン名 | ビルド番号 |
|---|---|---|
| Android | versionName | versionCode |
| iOS | version number | build string |
versionNameとversin numberがストアで表示されるときのバージョン番号ですね。
apkのversionNameとversionCodeをコマンドラインから確認する
apkのバージョン番号とビルド番号を確認するのは、Android Studioでapk analyzerにかければすぐにわかりますが、ここではコマンドラインを使う方法を紹介します。
コマンドとしてはAndroid SDKに含まれるaapt2コマンドを使うことでAndroidManifest.xmlの情報が取得できます。それをgrepして加工してあげればほしい情報が出力できます。
$ aapt2 dump badging sample.apk | grep "versionName" | sed -e "s/.*versionName='//" -e "s/' .*//" 1.2.3 $ aapt2 dump badging sample.apk | grep "versionCode" | sed -e "s/.*versionCode='//" -e "s/' .*//" 100
ipaのversion numberとbuild stringをコマンドラインから確認する
ipaについてはBitriseが公開しているipa_analyzerを使うのが便利です。
ipaのバージョン情報・ビルド番号はipaが持つinfo.plistの中のCFBundleShortVersionStringおよびCFBundleVersionに記載されています。
ipa_analyzerを使うとinfo.plistの値をjson形式で情報を出力してくれるので、jqコマンドでフィルターをかければよいでしょう。
$ ipa_analyzer -i sample.ipa -p --info-plist --prov | jq -r '.info_plist | .content | .CFBundleShortVersionString' 1.2.3 $ ipa_analyzer -i sample.ipa -p --info-plist --prov | jq -r '.info_plist | .content | .CFBundleVersion' 100
CIマシンでバージョニングを自動化するときに、正しくバージョニングできているかを上記のコマンドを使って確認するとよいでしょう。