是 SHA1 值不匹配造成Key校验失败;
每一个密钥库(签名用到的那个文件,默认的密钥库是:debug.keystore)都会产生它对应的 SHA1 值,所以签名时用不同的密钥库会用它相应的SHA1值。
我们在:
1.打开Eclipse--->Windows--->Preferences--->Android--->Build
2.运行cmd
-> cd keytool.exe所在的地址默认是Java\jdk1.8.0_05\bin
->keytool -list -keystore debug.keystore
(http://developer.baidu.com/map/sdkandev-14.htm :的两种SHA1值获取方法)
看到的SHA1 值都是默认密钥库的,当我签名时由于不是用默认的密钥库所以Key会校验失败。
这时就需要我们获取我们自己的密钥库的SHA1值:
有两种方法
方法一:用新的密钥库签名时在最后一部的页面里有SHA1值(如下图),记下了并重新申请新的密钥,覆盖原来的密钥,再用刚刚的密钥库签名。
方法二:将要用来签名的密钥库复制到bin (如:C:\Program Files\Java\jdk1.8.0_05\bin) 目录下
运行cmd
-> cd keytool.exe所在的地址默认是Java\jdk1.8.0_05\bin
->keytool -list -keystore debug.keystore(这里改成前面复制的密钥库名)
等一会就显示SHA1 值了,记下了并重新申请新的密钥,覆盖原来的密钥,再用刚刚的密钥库签名。
注:我在运行 cd .android 再运行keytool -list -keystore debug.keystore 会报keytool不是内部命令,打开文件夹后没有发现keytool.exe 打开bin文件夹才见有,所有上面运行的不是cd .android。