Android中微信签名的解决方案

来源:爱站网时间:2021-04-15编辑:网友分享
很多时候程序员都会遇到平台申请时的相关应用接口的签名,这个时候我们程序员可以封装工具使用,下面爱站技术频道小编就给我们说说Android中微信签名的解决方案,希望对你有帮助。

很多时候程序员都会遇到平台申请时的相关应用接口的签名,这个时候我们程序员可以封装工具使用,下面爱站技术频道小编就给我们说说Android中微信签名的解决方案,希望对你有帮助。

前言

最近遇到一个项目的应用要上微信登录,大家都知道微信登录是需要开放平台上申请的,在微信开发平台创建移动应用后,需要填写:


需要填写的内容

问题

这里的应用签名是keystore的证书的md5,但是微信的这个只有一个填写输入框,不像百度地图、高德地图那样,有线上的SHA1和开发调试的SHA1两种,那这就纠结了,在开发运行的时候AS IDE默认使用的签名keystore是系统的 debug.keystore,系统的和自己项目线上的keystore的MD5、SHA1肯定是不一样的,那么问题来了,要怎么统一用线上的,又不影响开发调试。

解决方案

既然不能同时使用线上和系统debugkeystore,那我们就使用同一个,只要确保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作为别名。

修改调试用keystorestorepasswdkeypasswd的口令为“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中微信签名的解决方案,相信大家都知道了,各位程序员可以来到js.aizhan.com学习。

上一篇:Android开发中微信登录的详细步骤

下一篇:Android开发中虚拟人人网的滑动边栏

您可能感兴趣的文章

相关阅读

查看更多 >