您的位置:首页 > 其它

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

2016-10-14 16:35 274 查看

需求:开发中经常有需求获取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信息都有
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息