命令行使用JKS文件为APK签名
目前拿到一个机器的Android系统签名,以JKS格式文件提供,要如何对APK签名呢?按如下步骤操作: jarsigner -verbose -keystore xxx.jks -signedjar xxx_signed.apk xxx_unsigned.apk xxx_alias 其中,xxx.jdk为相应的签名文件,xxx_alias为签名文件里面配置的keystore别名。例如: jarsigner -verbose -keystore xbh.jks -signedjar Explorer_signed.apk Explorer_unsigned.apk android 执行该命令后,要求输入keystore的密码,输入完后,碰到如下提示: jarsigner: 无法对 jar 进行签名: java.util.zip.ZipException: invalid entry compressed size (expected 6716 but got 6831 bytes) 查了下资料,是由于APK已有签名了,于是执行如下命令删除到现有签名: zip -d Explorer_unsigned.apk META-INF/\* 命令执行后有如下提示: deleting: META-INF/MANIFEST.MF deleting: META-INF/CERT.SF deleting: META-INF/CERT.RSA 执行完该命令后,再执行上面的jarsigner命令重新签名即可,此时有如下提示输出: 正在添加: META-INF/MANIFEST.MF 正在添加: META-INF/ANDROID.SF 正在添加: META-INF/ANDROID.RSA 正在签名: ...