Android gradle src/androidTest/res/layout/mylayout.xml mypackage中找不到。R

2022-09-04 20:55:33

我正在Android Studio中使用gradle编写单元测试。我的测试位于:

src/androidTest/java

这工作得很好。现在,在我的测试中,我想访问在以下位置定义的资源:

src/androidTest/res

具体来说,我想获得src /androidTest/res/layout/mylayout.xml。问题是我的测试包的R类或任何包都定义了mylayout。

我在我的build.gradle上做了这个,它没有区别:

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

如何为只有 androidTest 可见的 androidTest 类提供资源?


答案 1

对我来说,解决方案是将源文件放入,将资源文件放入 。这些是标准位置,因此您无需在 中编辑任何内容。src/androidTest/javasrc/androidTest/resgradle.build

另外,重命名 R 导入

import com.mycompany.myappname.R;

import com.mycompany.myappname.test.R;

Source: Configure res srcDirs for androidTest sourceSet


答案 2

我找到了解决方案,将其添加到您的build.gradle文件中。

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

推荐