如何排除特定包下的androidTest测试类参与编译?
如何在Android构建中排除特定包下的androidTest测试类
你遇到的问题核心在于:你的测试类是Kotlin文件(.kt),但之前的配置仅针对Java源文件做了排除,没有处理Kotlin文件。以下是正确的Gradle配置:
android { // 其他配置... sourceSets { androidTest { // 排除Java测试类 java { exclude '**/my/package/root/**' } // 排除Kotlin测试类 kotlin { exclude '**/my/package/root/**' } } } }
对之前尝试的配置说明:
- 第一种写法本身针对Java文件是有效的,但因为你的错误来自Kotlin文件,所以没生效;
- 第二种写法
java.filter.excludes = ["**/..."]语法正确,但同样只覆盖Java文件; - 第三种写法
java.excludes ["**/..."]存在语法错误,正确的调用方式是java.excludes.add("**/my/package/root/**"),但依然只处理Java文件。
配置完成后,执行gradlew clean connectedAndroidTest,指定包下的所有测试类(无论Java还是Kotlin)都会被排除在编译流程之外,不会再出现未解析引用的编译错误。
内容的提问来源于stack exchange,提问作者Adam Burley
相关产品推荐
相关产品推荐

