3

フォルダに存在する既存の.apkファイルを変更する必要があり/data/appます。変更後、フォルダ内の署名が変更されMeta-INFます。したがって、apkが正しく機能することを確認するには、正しいmd5sumでそれらを辞任する必要があります。

Javaを介してプログラムでapksを辞任し、コードのみを介して秘密鍵と証明書を生成することは可能ですか?

4

1 に答える 1

6

Bouncy Castle とこのクラスを使用しています。再署名の例:

SignedJar bcApk = new SignedJar(
    new FileOutputStream("out.apk"), signChain, signCert, signKey);
JarFile jsApk = new JarFile(new File("in.apk"));
Enumeration<JarEntry> entries = jsApk.entries();
while (entries.hasMoreElements()) {
    JarEntry entry = entries.nextElement();
    String name = entry.getName();
    if (!entry.isDirectory() && !name.startsWith("META-INF/")) {
        InputStream eis = jsApk.getInputStream(entry);
        bcApk.addFileContents(name, IOUtils.toByteArray(eis));
        eis.close();
    }
}
jsApk.close();
bcApk.close();
于 2014-04-12T21:51:18.777 に答える