【发布时间】:2015-01-08 15:00:39
【问题描述】:
我有一个 Android 应用程序,它下面有两个库层。每个库都有自己的测试代码。想用上层库的测试代码扩展下层库的测试代码,但是不知道怎么让Gradle找到下层库的测试代码(只能找到生产代码)。
我的文件结构如下:
myproject/
+ myapp/
+ src/
+ main/
+ java
+ com/myapp
+ lib1/
+ src/
+ main/
+ java
+ com/myapp/lib1
+ androidTest
+ java
+ com/myapp/lib1/test
+ lib2/
+ src/
+ main/
+ java
+ com/myapp/lib2
+ androidTest
+ java
+ com/myapp/lib2/test
应用程序的 gradle 文件如下所示:
apply plugin: 'com.android.application'
android { ... }
dependencies {
compile project(':lib2')
}
lib2 的 gradle 文件如下所示:
apply plugin: 'com.android.library'
android { ... }
dependencies {
compile project(':lib1')
}
lib1 的 gradle 文件如下所示:
apply plugin: 'com.android.library'
android { ... }
当我运行“gradle connectedCheck”时,我得到了这个:
...
:lib2:generateDebugTestSources UP-TO-DATE
:lib2:compileDebugTestJava
myproject/lib2/src/androidTest/java/com/myapp/lib2/test/SubClass.java:10: error: package com.myapp.lib1.test does not exist
import com.myapp.lib1.test.BaseClass;
我尝试将各种 androidTestCompile 行添加到 lib2 的 gradle 文件的依赖项部分,但它们都没有帮助。
有人知道怎么做吗?
编辑: 抱歉,我没有提到我的 myproject 文件夹中还有一个 settings.gradle,如下所示:
include ':lib1'
include ':lib2'
include ':myapp'
【问题讨论】:
标签: android gradle android-gradle-plugin android-library android-testing