我在AndroidStudio项目中添加了两个模块:

app-base
|
|----src
      |____androidTest
                |________MyTestBase.java

app
|
|----src
      |____androidTest
                |________MyTest.java

一些常见的测试类在app-base的androidTest中定义,并在app'androidTest中使用。

我试图在应用程序的build.gradle中添加以下代码:
    evaluationDependsOn(':app-base')

    compile project(':app-base')

    androidTestCompile project(':app-base')

我在settings.gradle中同时包含了应用库和应用程序, gradlew项目的输出为:
Root project 'MyProject'
+--- Project ':app-base'
+--- Project ':app'

这样就没有编译错误,但是当我在ide中运行MyTest时,它说找不到MyTestBase类。

你知道怎么了吗任何想法表示赞赏。谢谢。

最佳答案

我一直在寻找解决方案,终于找到了对我有用的东西。

这将使您可以将常见的测试类放在另一个模块中。

android {
    ...

    sourceSets {
        androidTest.java.srcDirs += ["${project('match the module name that is currently in the dependencies').projectDir}/src/androidTest/java"]
    }
}

因此,对于上面的示例,它可能看起来像
androidTest.java.srcDirs += ["${project(':appbase').projectDir}/src/androidTest/java"]

10-06 03:40