FTC Android Studio项目更新Gradle后出现重复类与so文件冲突问题
解决方案
所有冲突的核心是项目同时引入了两份TFOD库:官方远程依赖orc.firstinspires.ftc:tfod:1.0.2和本地导入的tfod-release模块,手动删除缓存文件只会在下次编译时重新生成,必须从Gradle配置层面修改才能彻底解决。
1. 移除重复TFOD依赖(优先执行)
- 打开项目模块级build.gradle文件(一般为TeamCode模块或者app模块下的build.gradle,不是项目根目录的全局build.gradle)
- 找到
dependencies代码块,删除两类依赖中的任意一种:- 若保留官方远程版TFOD:删除本地模块依赖行,格式一般为
implementation project(':tfod-release') - 若保留本地tfod-release模块:删除远程依赖行
implementation 'orc.firstinspires.ftc:tfod:1.0.2'
- 若保留官方远程版TFOD:删除本地模块依赖行,格式一般为
- 保存文件后点击Android Studio右上角的「Sync Project with Gradle Files」按钮同步配置,同步完成后重新编译即可解决90%以上的重复类、so库冲突问题。
2. 特殊场景兼容方案
如果因为项目版本兼容要求必须同时保留两份TFOD依赖,可添加打包过滤规则跳过重复文件校验:
在模块级build.gradle的android代码块中添加如下配置:
android { // 此处保留你原有所有配置不变,新增以下packagingOptions块 packagingOptions { pickFirst 'lib/arm64-v8a/libimage_utils.so' pickFirst 'lib/armeabi-v7a/libimage_utils.so' // 若有其他架构的so文件冲突,按照上述格式补充对应路径即可 } }
保存后同步Gradle重新编译即可。
3. 旧版本Gradle代码爆红修复
如果担心升级Gradle引发兼容问题不想升级,可通过清理IDE缓存解决「cannot resolve symbol」报错:
- 点击顶部菜单栏「File → Invalidate Caches...」
- 勾选「Clear file system cache and local history」,点击「Invalidate and Restart」等待IDE重启完成即可,无需修改Gradle配置。
内容的提问来源于stack exchange,提问作者Valentin Cebuc
相关产品推荐
相关产品推荐

