Task :app:mergeDevelopmentDebugNativeLibs报错,添加pickFirst后应用崩溃求助
解决libfbjni.so冲突导致的编译错误与运行崩溃问题
问题根源
执行Task :app:mergeDevelopmentDebugNativeLibs时的多文件冲突,是因为项目里多个依赖库都打包了libfbjni.so;添加pickFirst后崩溃,核心原因是不同版本的libfbjni.so存在兼容性差异,随意选取其中一个会导致运行时出现符号缺失或API不兼容问题。
可行解决办法
排查并移除重复依赖
执行Gradle命令查看项目依赖树,定位重复引入libfbjni.so的依赖库:./gradlew app:dependencies找到目标依赖后,在
build.gradle中通过exclude剔除重复的fbjni模块,示例:implementation('存在冲突的依赖库坐标') { exclude group: 'com.facebook.jni', module: 'fbjni' }确保项目仅保留一个版本的
fbjni依赖。统一依赖版本
在项目根目录的build.gradle中强制指定fbjni版本,让所有依赖统一使用同一版本:allprojects { configurations.all { resolutionStrategy.force 'com.facebook.jni:fbjni:指定有效版本号' } }版本号可选择项目中已存在、且兼容性较好的那个版本。
优化ABI配置
检查项目build.gradle的ABI过滤设置,只保留需要的架构,减少不必要的so文件打包:android { defaultConfig { ndk { abiFilters 'armeabi-v7a', 'arm64-v8a' // 根据实际需求调整 } } }
内容的提问来源于stack exchange,提问作者maharsh
相关产品推荐
相关产品推荐

