升级依赖后无法解析ActivityTestRule问题求助
解决升级测试依赖后无法解析ActivityTestRule的问题
这个问题我之前帮不少开发者排查过,本质是Google对Android测试支持库的结构做了拆分调整——在你之前使用的runner:1.0.1版本中,ActivityTestRule是包含在com.android.support.test:runner库里面的,但从runner:1.0.2版本开始,这个类被单独抽离到了rules库中,所以只升级runner和espresso-core的话,自然会找不到这个类。
具体解决方案
你只需要在Module级别的build.gradle中添加对应的rules依赖即可,注意版本要和runner保持完全一致:
androidTestImplementation 'com.android.support.test:runner:1.0.2' androidTestImplementation 'com.android.support.test:rules:1.0.2' // 新增这个依赖 androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
额外注意点
- 测试相关依赖的版本必须保持匹配,
runner和rules的版本要严格对齐,espresso-core的版本也要和它们兼容(你当前用的3.0.2和1.0.2是官方推荐的兼容组合)。 - 如果你后续迁移到AndroidX,依赖包名会变成
androidx.test:runner、androidx.test:rules这类,但你当前使用的是Support Library 27.1.1,保持上面的包名即可。
内容的提问来源于stack exchange,提问作者Navjacinth Mathew
相关产品推荐
相关产品推荐

