我有一个项目分成许多模块。一个名为':testcore'的模块包含一些测试使用的常用类。
该项目采用以下结构:
:app
:libraryone
:testcore
:librarytwo
:testcore
...
为了使这些文件可用于其他模块,我将它们逐个添加到另一个模块的测试源集中。
sourceSets {
test {
java.srcDirs += RELATIVE_PATH_TO_TESTCORE_JAVA_FILE
}
}
直到Android Studio 3.0.1与Gradle 4.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问题跟踪器上添加了错误报告: