Android微信签名知识的总结
短信预约 -IT技能 免费直播动态提醒
前言
最近遇到一个项目的应用要上微信登录,大家都知道微信登录是需要开放平台上申请的,在微信开发平台创建移动应用后,需要填写:
需要填写的内容
问题
这里的应用签名是
keystore
的证书的md5,但是微信的这个只有一个填写输入框,不像百度地图、高德地图那样,有线上的SHA1和开发调试的SHA1两种,那这就纠结了,在开发运行的时候AS IDE默认使用的签名keystore
是系统的 debug.keystore
,系统的和自己项目线上的keystore
的MD5、SHA1肯定是不一样的,那么问题来了,要怎么统一用线上的,又不影响开发调试。
解决方案
既然不能同时使用线上和系统
debug
的keystore
,那我们就使用同一个,只要确保MD5、SHA1一致就ok了,微信上我们继续使用线上的MD5,百度地图、高端地图等第三方的一些服务把线上和开发调试的SHA1都使用线上keystore
的:命令行进入线上
keystore
的文件所在目录,然后输入如下命令,即可查看签名。
keytool -list -v -keystore app-release.jks
复制一份线上的
keystore
文件在同一个文件夹下:
修改这个
keystore
文件的别名alias
,改成androiddebugkey
(系统的debug.keystore
的别名就是这个,如果不是这个别名,调试运行的时候会编译不通过,提示需要使用这样的alias),使用如下命令来修改:
keytool -changealias -keystore ishopping-debug.jks -alias ishopping -destalias androiddebugkey
-alias
后面是原来的别名, -destalias
后面是新的别名,记住一定要用androiddebugkey
作为别名。
修改调试用
keystore
的storepasswd
和keypasswd
的口令为“android”(也需要和系统的debug.keystore
的一样都使用这个口令),使用如下命令来修改:
// 修改密钥口令
keytool -keypasswd -keystore ishopping-debug.jks -alias androiddebugkey
// 修改密钥库口令
keytool -storepasswd -keystore ishopping-debug.jks
每一行命令,后都需要输入原有的密钥库和密钥口令,然后再输入新的口令:
修改口令
然后使用开头的查看签名MD5和SHA1的命令来查看新的调试开发用的
keystore
文件,看看签名是不是和线上的一样。
最后在gradle里面配置:
signingConfigs {
release {
// 此处是相对路径,可以在module app下新建一个key文件夹把keystore文件拷贝进去
storeFile file('key/ishopping.jks')
}
debug {
storeFile file('key/ishopping-debug.jks')
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
debug {
signingConfig signingConfigs.debug
}
}
配置完后,重新同步gradle,然后重新构建工程,点击Android Studio菜单栏Build -- Rebuild Project,新的证书才会生效。(只要是替换修改签名证书,都需要重新构建工程)
总结
以上就是这篇文章的全部内容了,希望本文的内容对各位Android开发者们能有所帮帮助,如果有疑问大家可以留言交流。
您可能感兴趣的文章:android端微信支付V3版本地签名统一下单详解微信开发之使用java获取签名signatureAndroid集成微信支付功能android微信支付源码分享Android 高仿微信支付数字键盘功能Android第三方微信支付教程Android支付宝和微信支付集成Android实现微信支付功能Android微信支付获取二次签名Sign的方法
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341