在上传各大市场时发现 apk 上传后能自动解析出应用名称、包名、版本号、使用权限等信息,所以就研究了一下
1 直接解压 apk 解析 AndroidManifest.xml 是不行的,因为 apk 打包时 AndroidManifest.xml 文件被压缩混淆了。
2 主要有两种实现方式
1) 通过 aapt (android asset packaging tool)
aapt 是打包、更新资源的一个工具,可以解析出 apk 的资源信息
2) apktool
著名的反编译工具,先反编译出 AndroidManifest.xm 再解析 xml 就行了。
3 我用 node.js + express 写了一个上传 apk 后 用 aapt 解析的 demo
1) 直接在 shell 中执行 ./aapt dump badging GoldNet0716.apk 就能拿到 apk 的信息
2)下面就很简单了 用 node.js 执行一下上面的 shell 脚本,拿到输出解析一下就行了
完整代码地址: https://github.com/lesliebeijing/ParseApkDemo.git