java - 为 androidTest sourceSet 配置 res srcDirs

标签 java android android-testing build.gradle

我想包含仅为测试而编译的资源。

我的应用程序模块 build.gradle 文件中包含以下内容:

android {

    ...

    sourceSets {
        androidTest {
            java.srcDirs = ['src/androidTest/java']
            res.srcDirs = ['src/androidTest/res']
        }
    }
}

java srcDirs 路径是正确的,但是如果我尝试从androidTest 中的res 目录中获取资源,则无法找到该资源。

我怎样才能在 androidTest 目录中获得仅用于测试的资源?

最佳答案

事实证明,您不需要对默认的 build.gradle 文件进行任何更改。

诀窍在于自动生成的 R.java 文件对于 androidTest 中的资源是不同的。

如果 R 的导入语句在您的主源集中某处如下所示:

import com.mycompany.myappname.R;

测试文件中 R 的导入语句应如下所示:

import com.mycompany.myappname.test.R;

关于java - 为 androidTest sourceSet 配置 res srcDirs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26663539/

相关文章:

java - 阻止用户在文本字段中输入字符,仅允许使用磁条读取器 (MSR) 进行刷卡

java - 如何让 toString() 返回多行字符串?

android - savedInstanceState 始终为 null,但始终调用 onSaveInstanceState()

android - 如何在各种设备上测试安卓企业应用

android - 在 ActivityInstrumentationTestCase 中使用自定义 bundle

安卓 Espresso : ViewPager does not have adapter instance

java - 这个找零问题的解决方案有什么问题吗?

java - 谁能帮助我理解 ArrayList<ArrayDeque<ByteBuffer>> 类型?

java - 检查 webview android 中的 url 更改不起作用

android - 创建一个全局 Toast 方法以在所有 Activity 中使用它?