Flutter升级至3.16.0后出现libc++_shared.so重复文件错误求助
快速排查与解决步骤
1. 定位冲突依赖
- 执行
flutter pub deps查看所有依赖,找出同时包含libc++_shared.so的第三方插件(尤其是音视频、地图这类带原生SDK的插件) - 优先把冲突插件更新到适配Flutter 3.16的版本,多数插件会在新版本修复这类ABI重复问题
2. 用Gradle强制保留单份so文件
在安卓项目的android/app/build.gradle中添加以下配置,让Gradle遇到重复路径的so文件时只保留第一个:
android { packagingOptions { pickFirst 'lib/arm64-v8a/libc++_shared.so' pickFirst 'lib/armeabi-v7a/libc++_shared.so' pickFirst 'lib/x86/libc++_shared.so' pickFirst 'lib/x86_64/libc++_shared.so' } }
3. 彻底清理缓存
- 执行
flutter clean清理Flutter构建缓存 - 执行
flutter pub get重新拉取依赖 - 进入安卓模块目录,执行
./gradlew clean(Windows系统用gradlew clean)清理安卓构建产物
4. 精简ABI架构(可选)
在android/app/build.gradle中指定只打包需要的CPU架构,减少冲突概率:
android { defaultConfig { ndk { abiFilters 'arm64-v8a', 'armeabi-v7a' } } }
内容的提问来源于stack exchange,提问作者MueEZ
相关产品推荐
相关产品推荐

