阅读android MANIFEST.MF文件

Sze*_*eri 2 android manifest

有没有办法使用Android API读取当前运行的应用程序的META-INF\MANIFEST.MF文件?

我想为classes.dex文件读取SHA1并将其用作我的一个资产的加密密钥.

我不能使用.apk文件的签名,因为每次我创建一个新的apk我需要重新加密我的资产并放入apk文件,这需要重新签署.apk,它成为鸡和蛋的问题.

Sze*_*eri 7

我找到了一种方法.我将.apk文件作为JarFile运行,然后我可以访问.apk中的单个文件.我相信这只适用于运行此代码的.apk文件.

这里是:

// 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");
Run Code Online (Sandbox Code Playgroud)