错误日志
2021-07-09 16:37:27.011 25614-25614/【包名】 D/MicroMsg.PaySdk.WXFactory: createWXAPI, appId = 【wxappid】 checkSignature = false
2021-07-09 16:37:27.011 25614-25614/【包名】 D/MicroMsg.PaySdk.WXFactory: createWXAPI, appId = 【wxappid】 checkSignature = false, launchMode = 2
2021-07-09 16:37:27.011 25614-25614/【包名】 D/MicroMsg.SDK.WXApiImplV10: <init>, appId = 【wxappid】 checkSignature = false, launchMode = 2
2021-07-09 16:37:27.011 25614-25614/【包名】 D/MicroMsg.SDK.WXMsgImplComm: ignore wechat app signature validation
2021-07-09 16:37:27.011 25614-25614/【包名】 D/MicroMsg.SDK.WXApiImplV10: registerApp, appId = 【wxappid】
2021-07-09 16:37:27.011 25614-25614/【包名】 D/MicroMsg.SDK.WXApiImplV10: registerApp, appId = 【wxappid】
2021-07-09 16:37:27.011 25614-25614/【包名】 D/MicroMsg.SDK.WXApiImplV10: register app 【包名】
2021-07-09 16:37:27.014 25614-25614/【包名】 D/MicroMsg.SDK.WXMsgImplComm: ignore wechat app signature validation
2021-07-09 16:37:27.014 25614-25614/【包名】 D/MicroMsg.SDK.WXMsgImplComm: ignore wechat app signature validation
2021-07-09 16:37:27.014 25614-25614/【包名】 I/MicroMsg.SDK.WXApiImplV10: sendReq, req type = 1
2021-07-09 16:37:27.014 25614-25614/【包名】 D/MicroMsg.SDK.MMessageAct: send, targetPkgName = com.tencent.mm, targetClassName = com.tencent.mm.plugin.base.stub.WXEntryActivity, launchMode = 2
2021-07-09 16:37:27.035 25614-25614/【包名】 D/MicroMsg.SDK.MMessageAct: send mm message, intent=Intent { flg=0x18000000 cmp=com.tencent.mm/.plugin.base.stub.WXEntryActivity (has extras) }
描述: 微信登录调试过程中,能拉起微信登录界面,但,无法接收到微信登录回调结果
原因: 看过微信登录继承文档的都知道微信登录需要在指定包名下创建 WXEntryActivity
并继承特定的实现类,我遇到的原因也就是微信登录之后根据包名没有找到这个 WXEntryActivity
类,所以没有接收到回调结果
我出现此现象的场景: 就有点坑了,接手的手游SDK开发,从一开始微信 wxappid
都是使用的同一个,之前测试一直没有问题,登录以及接收回到结果都很正常,但是自给对接文档 CP 对接后就出现问题了,迟迟没有收到回调。
最后就仔细思考后才发现,前人竟然把微信登录的具体回调接收类 WXEntryActivity
写到SDK内部,微信后台创建的包名也是SDK路径下的,后续对接由于使用的微信 wxappid 配置、包名的不一致,以至于在可运行 module 路径下找不到 WXEntryActivity
导致。
我的场景下怎么解决呢?
把 SDK 内部的 WXEntryActivity
迁移到可运行 module 中即可。
前人挖坑后人加班