在用eclipse调试android项目时,发现直接打在真机上的app调用微信登录接口没有反应,究其原因是很多第三方平台,在接入SDK时,都需要认证签名,而默认eclipse调试运行使用的是debug.keystore。其位置在Window->Preferences->Android->Build
窗口可看到
其中Custom debug keystore是用户自定义的调试证书,但直接把项目的keystore导入是不行的,这个自定义的调试证书是需要保证和默认证书一样的密码,别名和别名密码。这个是为什么呢,官方文档要求如此。囧o(╯□╰)o
那接下来就看下如何去修改项目中使用的keystore,修改之前请先备份一下keystore,防止修改失败,导致自己原始的keystore也丢失了。
一、先看下Eclipse默认的debug.keystore是什么样的?
在PC的jdk bin目录打开终端界面,输入.\keytool -list -v -keystore debug.keystore -storepass android
ps: 这里我是把debug.keystore从它原始的路径中复制了一份放到了jdk的bin目录里,如果没有复制,请带上debug.keystore的路径信息,如.\keytool -list -v -keystore C:\Users\xx用户\.android\debug.keystore -storepass android
下文中需要修改的keystore如果不是在同一目录下操作请带上路径信息
解释一下,官方文档给出的默认调试证书debug.keystore信息如下
Keystore name: "debug.keystore"
Keystore password: "android"
Key alias: "androiddebugkey"
Key password: "android"
CN: "CN=Android Debug,O=Android,C=US"
二、修改项目中使用的keystore
首先做好原始keystore的备份
目标:
1. 修改keystore密码为android (keystore的名称可修改可不修改)
2. 修改alias名称为androiddebugkey,同时密码也修改为android
操作步骤
1. 修改keystore密码
keytool -storepasswd -keystore my.keystore
注意: 是在jdk bin所在路径执行 my.keystore为自己的keystore文件名称,带上路径信息。执行后会提示输入证书的当前密码,和新密码以及重复新密码确认。需要将密码改为android
2. 修改alias名称
keytool -changealias -keystore my.keystore -alias my_name -destalias androiddebugkey
my_name是证书中当前的alias名称,新名称为androiddebugkey!这个命令会提示输入keystore的密码和当前alias的密码。(注意keystore密码已修改为android)
3. 修改alias密码
keytool -keypasswd -keystore my.keystore -alias androiddebugkey
这一步执行后会提示输入keystore密码,alias密码,然后提示输入新的alias密码,同样,改为android!(注意keystore密码已修改为android)
三、将修改好的keystore应用到Custom debug keystore中即可
MD5和SHA1值会随着Custom debug keystore一起导入。接下来就可以直接在真机上打包调试了。