Skip to content

Instantly share code, notes, and snippets.

@kwmt
Created December 7, 2020 01:57
Show Gist options
  • Save kwmt/1dc1e6eb720bdec66d58cf0187cfad06 to your computer and use it in GitHub Desktop.
Save kwmt/1dc1e6eb720bdec66d58cf0187cfad06 to your computer and use it in GitHub Desktop.
AndroidのaabファイルからversionNameを取得する
#!/bin/bash
set -ex
aapt2=`$ANDROID_HOME/build-tools/30.0.2/aapt2`
# aabからversionNameを得る
# https://www.nuomiphp.com/eplan/ja/5f10e6a5ac168365ea739083.html
#unzip -p app/build/outputs/bundle/release/app-release.aab base/manifest/AndroidManifest.xml > AndroidManifest.xml
unzip -p app/build/outputs/bundle/debug/app-debug.aab base/manifest/AndroidManifest.xml > AndroidManifest.xml
zip proto_version.apk AndroidManifest.xml
$aapt2 convert proto_version.apk -o version.apk
# apkからversionNameのある行をversionNameApkRowに格納
versionNameApkRow=`$aapt2 dump badging version.apk | grep versionName`
# versionNameApkRowをスペースで分割したものを行で並べて、`versionName`の行だけ表示したものをversionNameRowに格納
versionNameRow=`echo $versionNameApkRow | tr ' ' '\n' | grep versionName`
# versionNameRowは、versionName=0.7 みたいになっているので、`=`で分割して配列(list)に格納する
list=(${versionNameRow/=/ })
versionName=`echo ${list[1]} | sed "s/'//g"` # シングルクォートを取り除く
echo $versionName
@kwmt
Copy link
Author

kwmt commented Dec 7, 2020

Of course to run the script, you should run chmod cmd.

chmod +x get-versionName-from-aab.sh

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment