android - 如何获取 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
解决方案
Bundletool 有一个命令可以在 XML 中转储 AAB 的清单,甚至可以使用 xpath 提取清单的特定属性。
bundletool dump manifest --bundle bundle.aab
并仅提取版本代码:
bundletool dump manifest --bundle bundle.aab --xpath /manifest/@android:versionCode
希望有帮助。
推荐阅读
- linux - 来自不同源文件的bash中的变量替换
- python-3.x - 将大文件中的 IP 地址提取成 100 个组并放入二维数组中
- curl - 正确的语法 cURL --capath
- java - 线程“主”java.lang.NullPointerException 中的异常 - 在客户端。
(Client.java:64) 在 Client.main(Client.java:105) - javascript - 在 vue.js 中发布到烧瓶 API 时“被 CORS 策略阻止”
- hdl - 我正在尝试创建一个 8 位移位寄存器,但不太确定哪里出错了
- javascript - 对象检测(coco-ssd)Node.js:错误:传递给 tf.browser.fromPixels() 的像素必须是 HTMLVideoElement
- python - Python将元素附加到带有用户输入的二维数组
- python - PyInstaller .exe 运行后故障
- swift - SwiftUI FileDocument 使用 Sqlite 和 GRDB