Unity unsigned(debug) 模式下的签名理解

Unity android 签名

用unity打包apk时,通常渠道都会进行二次签名,因此经常有人选择签名时用Unity unsigned(debug) 模式,但是也有部分渠道不会去重新签名(比如360),这个时候每次更新包,就必须用最开始打包的机器去打包,否则会出现签名不一致,这样很麻烦。

后来研究后发现,其实unity中的unsigned(debug)打出来的包也是有签名的,其取用的签名文件是我们机器上面adt中生成的debug.keystore。理解了这个原理后,一切问题就迎刃而解了。下次打包好后,只要用最初那个机器的debug.keystore重新签名

一次就可以了。下面是具体的操作方法:

1、首先进入到apk所在的目录,把待签名的keystore文件也放入此目录,然后执行下面的命令
jarsigner -verbose -keystore debug.keystore -signedjar signed.apk unsign.apk mine.keystore
参数说明:
-verbose参数表示:显示出签名详细信息
-keystore表示使用当前目录中的debug.keystore签名证书文件。
-signedjar signed.apk 表示签名后生成的APK名称,
unsign.apk表示未签名的APK Android软件, 
mine.keystore表示别名

2、查看签名后的指纹及md5信息,命令参数如下:
keytool -printcert -file C:UsersAdministratorDesktopAPKSignTestpetsignedMETA-INFANDROIDD.RSA

ps:eclipse中会默认生成一个debug.keysotre,其信息如下:

Keystore名字:“debug.keysotre”
Keystore密码:“android”
Key别名:“androiddebugkey”
Key密码:“android”

验证签名信息:

命令行输入 jarsigner -verify -verbose -certs  XXX.apk(apk 完整路径)  可以看到 比对签名信息(需要安装了jdk)

使用360加固APK时需要签名文件

原文地址:https://www.cnblogs.com/monkeyst/p/7274171.html