我需要从设备上运行的同一应用程序的代码访问我的应用程序APK的内容。 我编写的代码运行良好,并在我的2.2和2.3.3设备上返回数据。
但这是一种合法的方式,是否适用于从2.1到任何未来或现有版本的所有版本?
主要原因是检测apk原始签名或重新包装的apk。
以下是我访问META-INF / CERT.RSA的代码:
String path = this.getApplication().getPackageCodePath();
try
{
ZipFile zfile = new ZipFile(path);
ZipEntry zentry = zfile.getEntry("META-INF/CERT.RSA");
long siz = zentry.getSize();
byte[] buf=new byte[(int) siz];
InputStream istream = zfile.getInputStream(zentry);
int ret = istream.read(buf);
istream.close();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
提前谢谢
答案 0 :(得分:0)
是的,这会有效。
目前它适用于最新的Android 3.2,并且此方法中没有任何方法被标记为已弃用。