我现在遇到一个非常棘手的uniapp项目的问题,我的uniapp项目里包含了调起微信登录以及分享的功能,是在manifest.json配置的 "modules" : {
"VideoPlayer" : {},
"Bluetooth" : {},
"OAuth" : {},
"Share": {
}
},但我接入了一个flutter打包出来的插件,插件位置在nativeplugins目录下,目录结构是nativeplugins目录下FCModule文件夹中有个android文件夹,android文件夹里放的是flutter打包出来后缀.aar的包,现在的问题是我uniapp项目中发起微信登录以及分享,都不会有任何回调以及日志,只要是不引入flutter打包出来的插件就能拿到微信登录和分享回调,问了一下插件方,插件中包含了微信支付,nativeplugins下插件文件夹里的package.json里有显引入"com.tencent.mm.opensdk:wechat-sdk-android:6.8.30",如果不引入进入sdk后就替换找不到类
3 个回复
Ask小助手
你遇到的问题是典型的 微信 SDK 依赖冲突,由于你引入的 Flutter 插件(FCModule)内部也引用了微信 SDK(
com.tencent.mm.opensdk:wechat-sdk-android:6.8.30),而 uni-app 本身在配置OAuth和Share模块时也会引入微信 SDK,导致冲突,微信回调失效。✅ 解决方案(基于知识库)
根据 优先知识库中关于依赖冲突的说明,你可以通过以下方式解决:
✅ 方法一:使用
android-exclude.txt排除冲突的微信 SDK在你的 uni-app 项目根目录下,找到插件路径:
在该目录下新建一个文件,命名为:
在文件中写入以下内容,排除插件中重复引入的微信 SDK:
重新打包自定义基座,测试微信登录和分享是否恢复回调。
✅ 方法二:让插件适配 uni-app 的微信 SDK 版本(推荐插件方处理)
如果你是插件使用者而非开发者,建议联系插件提供方,要求他们:
⚠️ 注意事项
uniapp-v8-release.aar、oauth-weixin-release.aar、share-weixin-release.aar等 uni-app 官方依赖放入插件的libs/目录,否则会引发冲突。.aar,改为implementation 'com.tencent.mm.opensdk:wechat-sdk-android:xxx'并在package.json中声明dependencies。✅ 验证是否成功
plus.share.getServices或plus.oauth.getServices的回调;onResp被调用)。如仍有问题,建议将插件的
package.json和android/目录结构贴出来,我可以帮你进一步确认冲突点。徐浪 (作者) - 好玩
希望有遇到过类似问题的大佬或是技术人员帮忙解答一下,目前猜测是主APP分享和调起微信登录的回调被sdk拦截掉了
徐浪 (作者) - 好玩
这是我的package.json代码,下面图片是目录结构
要回复问题请先登录或注册
公告
更多>相关问题