如果我有一个JAR(Android APK),我就这样签名:
jarsigner -keystore my.keystore someApk.apk myAlias
如何取消签名?因为如果我把它作为一个zip文件打开并试图提取AndroidManifest.xml,它们就会搞砸了。
答案 0 :(得分:3)
如果你不关心清单和其他元信息(你可能没有,因为你只想提取资源),你可以只用jar -xvf myjar.jar
提取文件,删除META-INF目录,并创建一个新的(未签名的jar)。
如果您 关心元信息,请查看Understanding Signing and Verification以获取有关签名的说明。您应该能够通过编辑清单并删除jar的META-INF目录中的签名文件来取消对jar的签名。
以上可能会回答你的问题,但它们可能无法解决你的问题,因为我不确定如果签名的jar会导致资源被“混乱”。资源本身不受签名过程的影响。如果你只是通过jar命令本身提取资源(如上面第二段所述),你还有问题吗?
答案 1 :(得分:1)
事实证明问题与签名无关 - 这是因为编译了XML文件。要查看此文件的内容,您必须使用aapt
工具。