Reading android MANIFEST.MF file

与世无争的帅哥 提交于 2019-12-02 02:07:56

I have found a way to do it. I opne the .apk file as a JarFile and then I can access individual files inside .apk. I believe this will only work for the .apk file that is running this code.

Here it is:

// Get Package Name
String packageName = ctx.getPackageName();

// Get classes.dex file signature
ApplicationInfo ai = ctx.getApplicationInfo();
String source = ai.sourceDir;

JarFile jar = new JarFile(source);
Manifest mf = jar.getManifest();

Map<String, Attributes> map = mf.getEntries();

Attributes a = map.get("classes.dex");
String sha1 = (String)a.getValue("SHA1-Digest");

Use following way to detect External Jar/SDK MANIFEST.MF Info. We could use this info for detecting Jar version etc. Use http://docs.oracle.com/javase/6/docs/api/java/util/jar/Manifest.html

public void getSDKInfo() {
Package package = Manifest.class.getPackage();
String specTitle = package.getSpecificationTitle();
String vendor = package.getSpecificationVendor();
String virsion = package.getSpecificationVersion();
}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!