首页 > 代码库 > Unity unsigned(debug) 模式下的签名理解
Unity unsigned(debug) 模式下的签名理解
用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:\Users\Administrator\Desktop\APKSign\Test\petsigned\META-INF\ANDROIDD.RSA
ps:eclipse中会默认生成一个debug.keysotre,其信息如下:
Keystore名字:“debug.keysotre”
Keystore密码:“android”
Key别名:“androiddebugkey”
Key密码:“android”
eg:jarsigner -verbose -keystore debug.keystore -signedjar test_singed.apk test_unsigned.apk androiddebugkey
Unity unsigned(debug) 模式下的签名理解