java分析android应用中AndroidManifest

java 解析android apk中AndroidManifest.xml文件思路:将apk文件当做zip文件,读取zip文件中AndroidManifest.xml,然后采用解析xml方式读取,读取过程中需要对解析的androidmanifest.xml采用AXMLPrinter2进行乱码解析

ZipFile zip = new ZipFile(req.getRealPath("") + "/apk/ElectricitySecurity.apk");

ZipEntry entry = zip.getEntry("AndroidManifest.xml");

InputStream inputStream = zip.getInputStream(entry);

String context = AXMLPrinter2.parse(inputStream);

SAXReader reader = new SAXReader();

ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(context.getBytes("UTF-8"));

try {

Document doc = reader.read(byteArrayInputStream);

Element rootElement = doc.getRootElement();

PrintWriter writer = resp.getWriter();

JSONObject json = new JSONObject();

json.put("code", rootElement.attributeValue("versionCode"));

json.put("name", rootElement.attributeValue("versionName"));

writer.write(json.toString());

writer.close();

} catch (DocumentException e) {

e.printStackTrace();

}

猜你喜欢

转载自xxmy.iteye.com/blog/1883146