Android开发中apk运行都需要签名,就算连接手机直接运行调试,apk都有签名,开发工具会有默认的debug_keyStore
Eclipse ADT调试运行使用的是临时生成的Debug专用证书,默认为C:\Users\XXX.android\debug.keystore。
开发中难免会遇到一些功能需要签名之后才能正确调用,但是每一次测试都需要打包apk显然很不实际,也浪费时间。
Eclipse 自定义调试证书
修改Eclipse的默认的签名文件。点击菜单的“Window”->“Preferences”,打开Preferences对话框。
在自定义签名证书中选择开发者正式的签名证书,运行项目会报错
Keystore was tampered with, or password was incorrect
原因:自定义的调试证书,也需要保证和默认证书一样的密码,别名alias和别名密码
默认证书信息:
keystore name: “debug.keystore”
keystore password: “android”
key alias: “androiddebugkey”
key password: “android”
CN: “CN=Android Debug,O=Android,C=US”
- 1
- 2
- 3
- 4
- 5
就是说现在我们需要修改 正式的签名证书 ,把证书的密码,别名(alias)和 别名密码 都修改成与 默认证书 一样。好坑爹有没有,但是没办法只能这么做
1.复制正式证书
2.修改证书密码
3.修改别名(alias)
4.修改别名密码
1.复制正式证书:
复制一份正式证书出来作为要修改为的临时调试证书
2.修改证书密码
使用cmd定位到证书所在的文件夹 ,修改keystore密码的命令(keytool为JDK带的命令行工具)
keytool -storepasswd -keystore xx_keystore
- 1
其中,xx_keystore 是复制出来的证书文件,执行后会提示输入证书的当前密码,和新密码以及重复新密码确认。这一步需要将密码改为 android
3.修改别名(alias)
修改keystore的alias ,命令
keytool -changealias -keystore xx_keystore -alias xx_alias -destalias androiddebugkey
- 1
其中,xx_alias 是证书中当前的alias,-destalias指定的是要修改为的alias,这里按规矩来,改为 androiddebugkey!这个命令会先后提示输入keystore的密码和 当前alias的密码。
4.修改别名密码
命令
keytool -keypasswd -keystore xx.keystore -alias androiddebugkey
- 1
这一步执行后会提示输入keystore密码,alias密码,然后提示输入新的alias密码,同样,按规矩来,改为 android!
4步完成之后,就已经将正式签名文件(副本)的信息修改成跟 eclipse 默认证书相同,此时就可以作为自定义的证书使用