由于这两天工作需要写一个自动发包的平台,需要写一个解析APK信息的工具类,这里用到了
Apk Parser(
https://github.com/xiaxiaocao/apk-parser),
这是一个纯Java实现的Apk解析Lib,也是现存的功能最强的Apk Parser。在不需要aapt等工具的前提下,可以:
这是一个纯Java实现的Apk解析Lib,也是现存的功能最强的Apk Parser。在不需要aapt等工具的前提下,可以:
1. 查看Apk 的元信息,如标题、图标、SDK版本、权限、支持的语言等
2. 解析Apk 中任意的Binary Xml 文件,翻译成可读的Xml 文本
3. 查看Apk Dex 文件中包含的Class 信息
4. 验证Apk 签名,查看签名的信息
2. 解析Apk 中任意的Binary Xml 文件,翻译成可读的Xml 文本
3. 查看Apk Dex 文件中包含的Class 信息
4. 验证Apk 签名,查看签名的信息
Apk Parser 可以解析和翻译Apk中binary Xml。在翻译的同时,还会解析Resource Table中的资源,并将Binary Xml 中相应的资源ID替换成实际的字符串。如果Apk是支持多语言的,那么指定不同的locale, 就可以解析出不同语言下的元数据,如标题等。
简单的使用实例如下:
ApkFile apkParser = new ApkFile(new File(filePath));
String xml = apkParser.getManifestXml();
System.out.println(xml);
ApkMeta apkMeta = apkParser.getApkMeta();
System.out.println(apkMeta);
apkParser.close();