首页 > 解决方案 > 如何获取 Android AAB 文件的 versionCode 和 versionName(标记)?

问题描述

类似于在不安装 apk 的情况下获取 Android .apk 文件 VersionName 或 VersionCode,我想只使用一个文件来获取versionCode和/或。versionName.aab

我试过简单地使用文件的经典答案.apk,但是用我的.aab文件代替,它没有用:

$ $ANDROID_HOME/sdk/build-tools/29.0.2/aapt dump badging my_aab.aab
ERROR: dump failed because no AndroidManifest.xml found

我还尝试尝试xmltree直接转储:

$ $ANDROID_HOME/sdk/build-tools/29.0.2/aapt dump xmltree my_aab.aab base/manifest/AndroidManifest.xml
W/ResourceType(39872): Bad XML block: header size 664 or total size 118110474 is larger than data size 35953
ERROR: Resource base/manifest/AndroidManifest.xml is corrupt

标签: androidapkandroid-manifestandroid-app-bundle

解决方案


Bundletool 有一个命令可以在 XML 中转储 AAB 的清单,甚至可以使用 xpath 提取清单的特定属性。

bundletool dump manifest --bundle bundle.aab

并仅提取版本代码:

bundletool dump manifest --bundle bundle.aab --xpath /manifest/@android:versionCode

希望有帮助。


推荐阅读