具有模块依赖性的Gradle Android Unit测试导致NoClassDefFoundError

Mar*_*ert 5 gradle android-testing android-gradle-plugin

我正在努力使用JUnit运行配置.

  • 模块A.
    • 主要
  • 模块B.
    • 主要
    • 测试

模块B使用模块A.

我正在尝试在模块B中运行单元测试.我在模块B的 build.gradle中定义了一个依赖项

compile project(':moduleA')
Run Code Online (Sandbox Code Playgroud)

它在Android Studio中运行良好,但是当我想使用gradle命令行运行时:

gradlew :moduleB:testDebugUnitTest
Run Code Online (Sandbox Code Playgroud)

它会导致某些测试失败java.lang.NoClassDefFoundError,所以我猜它无法找到模块A中的类.我检查了/ build/intermediates/classes文件夹,编译后的类就在那里.我还尝试添加测试依赖项:

testCompile project(':moduleA')
Run Code Online (Sandbox Code Playgroud)

但它没有任何区别.我还尝试清理/重建并在两台机器上运行.使用gradle插件1.5和gradle 2.9和2.11构建.

Jér*_*émy 0

您确定没有为您的构建启用 Proguard 吗?