添加测试源已停止在Android Gradle Plugin 3.1.1中工作

Mat*_*ron 5 android gradle android-studio android-gradle-plugin android-gradle-3.0

我有一个项目分成许多模块.一个名为':testcore'的模块包含一些测试使用的常用类.

该项目采用以下结构:

:app
     :libraryone
         :testcore
     :librarytwo
         :testcore
     ...
Run Code Online (Sandbox Code Playgroud)

为了使这些文件可用于其他模块,我将它们逐个添加到另一个模块的测试源集中.

sourceSets {
    test {
        java.srcDirs += RELATIVE_PATH_TO_TESTCORE_JAVA_FILE
    }
}
Run Code Online (Sandbox Code Playgroud)

这是在使用Gradle 4.1的Android Studio 3.0.1之前的工作.但是对于Android Studio 3.1.0和Gradle 4.4,现在会导致错误:

Lint基础结构错误由以下引起:java.lang.reflect.InvocationTargetException

引起的

引起:java.lang.IllegalArgumentException:尝试将不存在的文件添加到classpath:.... java

这个错误似乎是由Android Gradle插件3.1.1引起的,而不是gradle 4.4,好像我使用Gradle 4.4和Android Gradle插件3.0.0它返回成功的构建.

-------------------

为了帮助诊断这一点,我创建了一个Android应用程序模块和一个库模块一个新的测试项目,并重新创建上面所示的生成错误.

这是构建的gradle扫描:

https://scans.gradle.com/s/c7yagwqy45hfs

我还在Google问题跟踪器上添加了错误报告:

https://issuetracker.google.com/issues/78097961