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

我的应用程序模块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语句在您的主要源代码集中的某处看起来像:

import com.mycompany.myappname.R;

测试文件中R的import语句应类似于:
import com.mycompany.myappname.test.R;

10-01 23:55