Android Studio自定义测试文件夹无法识别,如何配置使其显示?
当然可行!这是你需要调整的步骤
你的思路是对的,但Gradle配置和Android Studio的目录识别还需要补全几步,我来帮你梳理清楚:
1. 修正Gradle配置,让测试源集被正确识别
你当前的sourceSets配置缺少了测试目录的核心关联逻辑,而且不需要把src/main/java加进去(测试默认会依赖主代码的编译产物,重复添加反而可能引发编译冲突)。更新你的Gradle配置如下:
android { // ... 保留你原有的其他配置 sourceSets { deviceIntegrationTest { // 指定测试代码目录 java.srcDirs = ['src/deviceIntegrationTest/java'] // 如果你的测试需要资源文件,加上这一行 res.srcDirs = ['src/deviceIntegrationTest/res'] // 关联测试所需的编译路径 compileClasspath += sourceSets.main.output + sourceSets.androidTest.output runtimeClasspath += sourceSets.main.output + sourceSets.androidTest.output } } // 添加Gradle测试任务,让编译系统能处理这个测试源集 task deviceIntegrationTest(type: Test) { testClassesDirs = sourceSets.deviceIntegrationTest.output.classesDirs classpath = sourceSets.deviceIntegrationTest.runtimeClasspath // 如果是Instrumented测试(跑在设备/模拟器上),把Test换成AndroidTest // task deviceIntegrationTest(type: AndroidTest) { ... } } }
2. 同步Gradle并手动标记目录类型
配置完成后:
- 点击Android Studio右上角的「Sync Project with Gradle Files」按钮,等待同步完成
- 右键点击
src/deviceIntegrationTest/java文件夹,选择「Mark Directory as」→「Test Sources Root」 - 如果有
res文件夹,同样标记为「Test Resources Root」
3. (可选)重启Android Studio
如果同步和标记后目录还是没在Android视图显示,重启一下AS就能解决大部分缓存问题。
为什么之前的配置不生效?
你只定义了sourceSets,但没有告诉Android Studio这是测试源目录,也没有关联测试所需的编译依赖路径,所以AS无法识别这个文件夹的用途,自然不会在项目视图中展示,也不允许添加Java类。
内容的提问来源于stack exchange,提问作者Stéphane
相关产品推荐
相关产品推荐

