徐浪
徐浪
  • 发布:2026-03-02 14:58
  • 更新:2026-03-02 15:06
  • 阅读:26

uniappVUE项目接入flutter打包的AAR后缀的SDK,依赖冲突

分类:uni-app

我现在遇到一个非常棘手的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后就替换找不到类
2026-03-02 14:58 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

你遇到的问题是典型的 微信 SDK 依赖冲突,由于你引入的 Flutter 插件(FCModule)内部也引用了微信 SDK(com.tencent.mm.opensdk:wechat-sdk-android:6.8.30),而 uni-app 本身在配置 OAuthShare 模块时也会引入微信 SDK,导致冲突,微信回调失效。


✅ 解决方案(基于知识库)

根据 优先知识库中关于依赖冲突的说明,你可以通过以下方式解决:


✅ 方法一:使用 android-exclude.txt 排除冲突的微信 SDK

  1. 在你的 uni-app 项目根目录下,找到插件路径:

    nativeplugins/FCModule/android/  
  2. 在该目录下新建一个文件,命名为:

    android-exclude.txt  
  3. 在文件中写入以下内容,排除插件中重复引入的微信 SDK

    wechat-sdk-android-6.8.30.aar  

    如果插件中是 .aar 文件形式引入的微信 SDK,文件名可能为 wechat-sdk-android-6.8.30.aar,请根据实际文件名填写。

  4. 重新打包自定义基座,测试微信登录和分享是否恢复回调。


✅ 方法二:让插件适配 uni-app 的微信 SDK 版本(推荐插件方处理)

如果你是插件使用者而非开发者,建议联系插件提供方,要求他们:

  • 移除插件中对微信 SDK 的直接依赖
  • 在插件文档中注明:“本插件依赖 uni-app 的 OAuth/Share 模块,请确保已勾选微信登录/分享模块”。

⚠️ 注意事项

  • 不要uniapp-v8-release.aaroauth-weixin-release.aarshare-weixin-release.aar 等 uni-app 官方依赖放入插件的 libs/ 目录,否则会引发冲突。
  • 如果你使用的是 HBuilderX 3.7.6+,微信 SDK 已改为 Gradle 依赖,插件也应避免重复引入 .aar,改为 implementation 'com.tencent.mm.opensdk:wechat-sdk-android:xxx' 并在 package.json 中声明 dependencies

✅ 验证是否成功

  • 打包后,使用微信登录或分享;
  • 检查是否触发 plus.share.getServicesplus.oauth.getServices 的回调;
  • 检查是否有微信回调日志(如 onResp 被调用)。

如仍有问题,建议将插件的 package.jsonandroid/ 目录结构贴出来,我可以帮你进一步确认冲突点。

内容为 AI 生成,仅供参考
徐浪

徐浪 (作者) - 好玩

希望有遇到过类似问题的大佬或是技术人员帮忙解答一下,目前猜测是主APP分享和调起微信登录的回调被sdk拦截掉了

徐浪

徐浪 (作者) - 好玩

{  
    "name": "FCModule插件",    
    "id": "FCModule",    
    "version": "2.2.0",    
    "description": "FCModule插件",    
    "_dp_type":"nativeplugin",    
    "_dp_nativeplugin":{  
        "android": {  
            "plugins": [    
                {  
                    "type": "module",    
                    "name": "FCModule",    
                    "class": "com.zhimi.fcmodule.FCModuleModule"    
                }  
            ],  
            "integrateType": "aar",    
            "dependencies": [  
                "com.google.android.material:material:1.12.0",  
                "androidx.core:core-ktx:1.10.1",  
                "androidx.recyclerview:recyclerview:1.1.0",  
                "androidx.appcompat:appcompat-resources:1.6.1",  
                "androidx.cursoradapter:cursoradapter:1.0.0",  
                "androidx.window:window-java:1.2.0",  
                "androidx.window:window-java:1.0.0-beta04",  
                "androidx.tracing:tracing:1.2.0",  
                "androidx.lifecycle:lifecycle-common-java8:2.7.0",  
                "androidx.security:security-crypto:1.1.0-alpha06",  
                "androidx.exifinterface:exifinterface:1.3.7",  
                "com.squareup.okhttp3:okhttp:3.12.13",  
                "com.tencent.mm.opensdk:wechat-sdk-android:6.8.30",  
                "com.alipay.sdk:alipaysdk-android:15.8.17",  
                "androidx.media3:media3-exoplayer:1.3.1",  
                "androidx.preference:preference:1.2.1",  
                "com.arthenica:ffmpeg-kit-full:6.0-1",  
                "androidx.media3:media3-exoplayer-hls:1.3.1",  
                "androidx.media3:media3-exoplayer-dash:1.3.1",  
                "androidx.media3:media3-exoplayer-smoothstreaming:1.3.1",  
                "androidx.media3:media3-session:1.3.1"  
            ],  
            "abis": [  
                "arm64-v8a"  
            ],  
            "minSdkVersion": "24"  
        },  
        "ios": {  
            "plugins": [  
                {  
                    "type": "module",  
                    "name": "FCModule",  
                    "class": "FCModuleModule"  
                }  
            ],    
            "hooksClass": "",  
            "integrateType": "library",   
            "frameworks": [  
                "libc++.tbd",  
                "App.framework",  
                "audio_session.framework",  
                "connectivity_plus.framework",  
                "device_info_plus.framework",  
                "Flutter.framework",  
                "flutter_keyboard_visibility.framework",  
                "flutter_sound_core.framework",  
                "flutter_sound.framework",  
                "FlutterPluginRegistrant.framework",  
                "image_cropper.framework",  
                "image_gallery_saver.framework",  
                "image_picker_ios.framework",  
                "in_app_purchase_storekit.framework",  
                "just_audio.framework",  
                "package_info_plus.framework",  
                "path_provider_foundation.framework",  
                "permission_handler_apple.framework",  
                "shared_preferences_foundation.framework",  
                "sqflite.framework",  
                "TOCropViewController.framework",  
                "video_player_avfoundation.framework",  
                "wakelock_plus.framework",  
                "webview_flutter_wkwebview.framework"  
            ],  
            "embedFrameworks": [  
                "App.framework",  
                "audio_session.framework",  
                "connectivity_plus.framework",  
                "device_info_plus.framework",  
                "Flutter.framework",  
                "flutter_keyboard_visibility.framework",  
                "flutter_sound_core.framework",  
                "flutter_sound.framework",  
                "FlutterPluginRegistrant.framework",  
                "image_cropper.framework",  
                "image_gallery_saver.framework",  
                "image_picker_ios.framework",  
                "in_app_purchase_storekit.framework",  
                "just_audio.framework",  
                "package_info_plus.framework",  
                "path_provider_foundation.framework",  
                "permission_handler_apple.framework",  
                "shared_preferences_foundation.framework",  
                "sqflite.framework",  
                "TOCropViewController.framework",  
                "video_player_avfoundation.framework",  
                "wakelock_plus.framework",  
                "webview_flutter_wkwebview.framework"  
            ],  
            "plists": {  
                "io.flutter.embedded_views_preview":true,  
                "EnableOpenGL":true  
            },  
            "privacies": [  
                "NSMicrophoneUsageDescription",  
                "NSPhotoLibraryUsageDescription",  
                "NSBluetoothPeripheralUsageDescription",  
                "NSBluetoothAlwaysUsageDescription",  
                "NSCameraUsageDescription"  
            ],  
            "deploymentTarget": "9.0"  
        }  
    }  
}

这是我的package.json代码,下面图片是目录结构

要回复问题请先登录注册