您的位置:首页 > 移动开发 > Android开发

读取APK包中配置文件 AndroidManifest.xml 中的版本信息

2014-07-15 15:47 791 查看
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;

import net.sf.json.JSONObject;

import org.apkinfo.api.util.AXMLPrinter2;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

public class ApkUtil {

public JSONObject getApkInfo(String path) throws Exception {
JSONObject json = new JSONObject();
ZipFile zip = null;
InputStream inputStream = null;
try {
zip = new ZipFile(path);
ZipEntry entry = zip.getEntry("AndroidManifest.xml");
inputStream = zip.getInputStream(entry);
String context = AXMLPrinter2.parse(inputStream);
SAXReader reader = new SAXReader();
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(context.getBytes("UTF-8"));
Document doc = reader.read(byteArrayInputStream);
Element rootElement = doc.getRootElement();
json.put("versionCode", rootElement.attributeValue("versionCode"));
json.put("versionName", rootElement.attributeValue("versionName"));
} catch (Exception e) {
e.printStackTrace();
}finally{
if(zip != null){
zip.close();
}
if(inputStream != null){
inputStream.close();
}
}
return json;
}

}


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: