从Android设备上的代码访问APK内容

时间:2011-10-05 08:30:38

标签: android apk

我需要从设备上运行的同一应用程序的代码访问我的应用程序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();
    }

提前谢谢

1 个答案:

答案 0 :(得分:0)

是的,这会有效。

目前它适用于最新的Android 3.2,并且此方法中没有任何方法被标记为已弃用。