Linux环境下Detox构建Android项目遇依赖与Jetifier适配错误
2026-5-11
解决Linux下Detox Android构建的AndroidX与依赖版本冲突问题
#
我之前在Linux环境搭建Detox Android构建时也踩过一模一样的坑——Mac上跑的好好的,到Linux就因为Jetifier和依赖版本炸了,给你整理几个亲测有效的解决步骤:
核心问题拆解 #
你碰到的问题本质是两个关键点:
- Linux环境下Gradle的Jetifier没有正确完成Android Support到AndroidX的包替换
-
com.squareup.okhttp3:okhttp(涉及3.4.1/3.10.0/3.11.0版本)和com.squareup.okio:okio(涉及1.9.0/1.14.0版本)存在版本冲突,导致minReactNative44DebugCompileClasspath配置无法解析,原因是RuntimeClasspath的强制版本和依赖路径中的版本不兼容
具体解决步骤 #
1. 强制统一冲突依赖的版本 #
在项目根目录的
顶级
build.gradle
(不是
app
模块下的那个)中,添加
resolutionStrategy
来锁定冲突依赖的版本,选一个能兼容所有子依赖的稳定版本:
allprojects { repositories { // 你的仓库配置... configurations.all { resolutionStrategy { // 强制统一okhttp版本,3.12.13兼容多数RN版本和Detox force 'com.squareup.okhttp3:okhttp:3.12.13' // 对应okio的兼容稳定版 force 'com.squareup.okio:okio:1.14.0'
2. 确保Jetifier配置正确并清理缓存 #
-
检查项目根目录的
gradle.properties,确认以下配置存在且正确:android.useAndroidX=true android.enableJetifier=true -
Linux下Jetifier的缓存经常会出现异常,执行以下命令清理所有Gradle缓存和构建产物:
# 清理项目构建产物 ./gradlew clean # 删除项目本地Gradle缓存