0

apk のどこにサイン情報が保存されていますか? apk ファイルは、拡張子が .apk の zip アーカイブです。いくつかの手段を変更できますか?それとも署名に影響しますか?

4

1 に答える 1

5

以下のこの方法を使用すると、リソースを編集できますが、apk を辞任する必要がありますが、それも以下に示されています。この例では画像リソースを編集していますが、これはどのリソースでも使用できます

まず、Android SDK のツール「aapt」を使用して、リソースを一覧表示します。

$ANDROID/tools/aapt list file.apk

変更が必要なリソースを見つけたら、「削除」と「追加」を使用してそれらを置き換えます。

$ANDROID/tools/aapt remove file.apk res/drawable/file.png
$ANDROID/tools/aapt add file.apk res/drawable/file.png

次に、古い APK 署名を削除して、新しい署名に置き換える必要があります。APK に署名するための偽の自己署名キーを生成します。

$ openssl genrsa -out key.pem 1024
$ openssl req -new -key key.pem -out request.pem
$ openssl x509 -req -days 9999 -in request.pem -signkey key.pem -out certificate.pem
$ openssl pkcs8 -topk8 -outform DER -in key.pem -inform PEM -out key.pk8 -nocrypt

APK から古い署名を削除します。

for f in `$ANDROID/tools/aapt list file.apk |grep "META-INF"` ; do
$ANDROID/tools/aapt remove file.apk $f
done

これで APK に署名します。signapk.jar を使用してこれを行います。

$ java -jar signapk.jar certificate.pem key.pk8 file.apk file-signed.apk
于 2012-09-24T14:25:19.683 に答える