最新版本微信SDK Android微信登录接入之华为手机惊天巨坑填坑方案

这个问题很忧伤,折腾了2个月,终于找到了本质的原因。

首先描述一下我们项目遇到的现象,供遇上的朋友们参考。

1、华为Mate 20 Mate30出现问题,其他机型没有用户汇报

2、华为Mate30中,同一款机型,有的机型可以,有的机型不可以。

3、同一个手机,上午可以,下午不可以。(在未卸载APP且APP也没有更新的情况下)


我想当大家看到第三个现象的时候,有没有一种要****的感觉。

这里要感谢亲切的微信SDK官方文档,文档告诉我们两件事

1、Android 8.0以上机制修改,请大家尽快升级微信SDK,旧SDK信息将会逐步收回

2、国内外厂商要求Android APK提交时,targetSdkVersion不得低于26,也就是Android 8.0

 

微信官方SDK接入文档告诉我们,只需要加入下面的依赖库就可以了

implementation 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+

但是,Mate30确实出现了上面的现象。于是我找了很多朋友的APK来测试,发现别人的都可以。对比后发现,别人的配置是下面这样的。

implementation 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:1.0.2'

果断换上后,发现还是不对。正当我想哭的时候,有文章提到微信会缓存授权信息。

于是我卸载了微信重新安装,再次登录。成功了。


综上所述,接入新版SDK的步骤

1、添加  implementation 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:1.0.2' 依赖

2、代码该怎么写就怎么写

3、如果之前试过不能登录的手机,卸载微信或者换一个微信账号再试

4、createWXAPI最后一个参数给true或者false目前并未发现差异

5、Android Studio打包的时候,签名可以只选V1,也可以V1和V2一起选。(不能单独选V2,选只V2,低于Android 7.0的手机安装不了)

至于华为一会儿可以,一会儿不可以的问题,天知道。 但是换成新版本SDK后,就稳定了。 我猜是微信授权服务器的锅。

展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: Age of Ai 设计师: meimeiellie
应支付0元
点击重新获取
扫码支付

支付成功即可阅读