先说下我遇到的现象吧:
微信分享,点击没反应,也没有报错信息.
微信支付,点击同样没反应,resp.errCode == -1,errorStr = " "
抓耳挠腮,百撕不得姐.
只能对着文档一行一行的扣.
下图是文档中对errorCode的介绍:
先确认APPID没有问题,这时候自然就怀疑是不是签名的问题.当然,微信也提供了工具来帮我们验证,请看这里
经过验证,很不幸,签名没有问题.那就只剩最后一个原因了——‘其他异常’.
OK.不卖关子了,问题是怎么解决的呢?下面是复盘:
1.查看在微信开放平台的配置.
这里的应用签名,要用自己项目release的签名.因为经过测试,最开始我是用的debug包(debug包没有做签名),后来跟同事对比发现,两个debug包拿到的签名竟然不一致.换成release包之后,两次签名一致.
注意:这里的重点不是debug和release,而是你打包的时候有没有用到项目中的keystore
下面这段是文档中的原文:
应用包名:是在APP项目配置文件AndroidManifest.xml中声明的package值,例如DEMO中的package="net.sourceforge.simcpux"。
应用签名:根据项目的应用包名和编译使用的keystore,可由签名工具生成一个32位的md5串,在调试的手机上安装签名工具后,运行可生成应用签名串,如图8.9所示,绿色串即应用签名。签名工具下载地址https://open.weixin.qq.com/zh_CN/htmledition/res/dev/download/sdk/Gen_Signature_Android.apk
2.配置完之后,当然还是不行,这时候一定不要摔手机,因为这解决不了问题.
微信会对之前的调用生成缓存,所以你可以卸载重装or清空微信数据.
3.搞定.
严正声明:
由于每个项目的原因不一样,还是要具体问题具体分析.如果看了本文还是没有解决你的问题.可以摔手机,但是不能骂人.