Android单元测试不适用于Android库项目

Android单元测试不适用于Android库项目,android,android-studio,gradle,jvm,android-testing,Android,Android Studio,Gradle,Jvm,Android Testing,我们正在努力向我们的项目介绍新技术 对于library项目,当使用gradlew运行时,它找不到src/main/java类 从androidstudio运行测试工作正常。 在应用程序项目中使用gradle运行测试的效果与预期一样。 在库项目中使用gradle运行测试失败 我在上创建了一个示例项目,它在一个小项目中重现了这个问题 使用gradle插件定义apply插件:“com.android.application”可以正常工作,使用插件定义apply插件:“com.android.libra

我们正在努力向我们的项目介绍新技术

对于library项目,当使用gradlew运行时,它找不到src/main/java类

从androidstudio运行测试工作正常。 在应用程序项目中使用gradle运行测试的效果与预期一样。 在库项目中使用gradle运行测试失败

我在上创建了一个示例项目,它在一个小项目中重现了这个问题

使用gradle插件定义
apply插件:“com.android.application”
可以正常工作,使用插件定义
apply插件:“com.android.library”
则会出现错误

错误是:

home/user/path/AndroidJvmJunitTestSpike/common/src/test/java/squins/com/common/SomeClassTest.java:11: error: cannot find symbol
    assertEquals(2, new SomeClass().sum(1, 1));
                        ^                    
  symbol:   class SomeClass                      
  location: class SomeClassTest                  
  /home/user/path/AndroidJvmJunitTestSpike/common/src/test/java/squins/com/common/SomeClassTest.java:16: error: cannot find symbol
    new SomeClass().referenceDrawableFromR();
        ^                                    
  symbol:   class SomeClass                      
  location: class SomeClassTest                  
  2 errors                                         
  :common:compileDebugUnitTestJava FAILED 

这样行吗?我错过了什么吗?

我找到了一个解决方法:手动触发编译。成功的Gradle命令:

/gradlew clean assembleDebug assembleerelease test


仍在寻找更好的解决方案。

您应该翻转一下,使您的软件包看起来像这样:“com.squins.common”而不是“squins.com.common”。谢谢您的关注!这确实是错误的,Android studio在新项目向导中要求“公司域”,我将其解释为“包名”。@Keesvanderen我认为您应该将此作为答案发布。我也有同样的问题
gradlew clean Assembly check
。只是将其作为答案发布。这不是最优的,但总比没有好。