keystore自定义调试证书的时候,发过一篇关于调试证书规格的博文:Eclipse ADT的Custom debug keystore所需证书规格,提到过自定义调试证书的密码和alias命名以及alias密码都是有规矩的。其实Android应用开发接入各种SDK时会发现,有很多SDK是需要靠package name和keystore的指纹hash来识别的(百度地图SDK、Facebook SDK等等…),这样如果使用默认自动生成的debug keystore的话就会给开发调试工作带来一些麻烦。这时可以通过修改正式的release keystore,生成一份“遵守规矩”的临时自定义调试证书给开发时用,就方便多了,具体方法如下:

 

1. 首先当然是先复制一份正式证书出来作为要修改为的临时调试证书。这里我们这支的keystore 的密码为hahaha,alias为silence,alias的密码为xixixi

2. 修改keystore密码的命令(keytool为JDK带的命令行工具):

keytool -storepasswd -keystore my.keystore

(android)确认。这一步需要将密码改为android。

alias:

keytool -changealias -keystore my.keystore -alias my_name -destalias androiddebugkey

(android,已经在第二步中进行了修改)和当前alias的密码(xixixi)。

4. 修改alias的密码:

keytool -keypasswd -keystore my.keystore -alias androiddebugkey

(android),alias密码(xixixi),然后提示输入新的alias密码(android),同样,按规矩来,改为android!

以上几个操作执行后,my.keystore就是符合规矩的debug keystore了,接着在Eclipse的ADT设置中选中这个custom debug keystore即可,如下:

android 打开app时debug android debug.keystore_自定义

同时还可以看到证书的MD5以及SHA1指纹。

PS:以上3步命令行并没有先后顺序。

key.alias= 别名

此别名一开始以为可以随便写,后来多次尝试发现乱写打包一定不成功,此别名要与第一次生成签名时的别名一至,由于签名不是我申请的,申请签名的同事也忘记了签名的别名,如此只好找工具看一下签名的信息了,其实工具不用找了,在jdk中有

直接keytool -list  -v -keystore xxxx.keystore -storepass 密码  签名的信息就有了

Android studio修改debug.keystore

在项目的build.gradle中添加如下内容:

signingConfigs { 

         myConfig{ 

             storeFile file("xxxx.keystore") 

            storePassword "xxxx" 

             keyAlias "xxxx" 

             keyPassword "xxxx" 

         } 

     }