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;
}
}