微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

获取apk的版本号versionCode apk的版本名称VersionName

求:开发中经常有需求获取apk文件的版本号,和版本名称,比如确定一下上传到应用市场的apk是不是最新的apk,检查更新的时候也要确保后台的apk文件为新的apk。


行不通的方法
1.直接解压apk,获得AndroidManifest.xml文件。(apk也为特殊的压缩文件),但是解压的结果为乱码,因为在生成apk的过程中对apk做了加密,编码操作。
解压效果如下:

完全看不懂呀

2.既然直接解压行不通,那用apktool工具反编译总可以了吧:cmd 执行以下命名:apktool d -s xxxxx.apk
效果如下:

可以看出,虽然反编译出来的文件,和我们AndroidManifest.xml源文件相差无几,但是为啥没有我们的VersionCode  VersionName 属性,反而读了2个

platformBuildVersionCode="21" platformBuildVersionName="5.0.1-1624448"属性了,那这2个属性是不是我们原AndroidManifest.xml是一样的呢,当然不是,

我这里原AndroidManifest.xml文件中的versionCode的值是2,而这里成了21.所以,这种方法也行不通

解决办法:
aapt工具
aapt dump badging xxxxx.apk
效果如下;

怎么样,packageName  versionCode   versionName  permission信息都有
 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。