Android apk签名信息

时间:2012-09-24 14:20:33

标签: android apk sign

在apk中存储了标志信息? apk文件是zip存档,扩展名为.apk。我可以更改一些资源,还是会影响签名?

1 个答案:

答案 0 :(得分: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
相关问题