我正在将我的Android项目迁移到Gradle构建系统,但我无法从我的集成测试Android项目中导入Android项目。
我使用了多项目配置,包含几个Android库,并且它运行得很好,但是我在设置多项目测试项目时遇到了问题。由于外部原因,我需要继续使用这个结构。
最后是我的
当我运行
我已经阅读了文档和许多帖子,但我无法使其正常工作。我也尝试使用:
在声明依赖项时,是否有人遇到了同样的问题?我想将MyApp项目依赖项的输出包含在Instrumentation-Tests编译的类路径中,但我不知道是否可以使用android gradle插件实现。
我使用了多项目配置,包含几个Android库,并且它运行得很好,但是我在设置多项目测试项目时遇到了问题。由于外部原因,我需要继续使用这个结构。
MyProject/
| settings.gradle
+ MyApp/
| build.gradle
| src
| res
| libs
+ Instrumentation-Tests/
| build.gradle
| src
| res
| libs
我的当前配置文件如下:
settings.gradle:
include ':MyApp', 'Instrumentation-Tests'
MyAppp/build.gradle:
apply plugin: 'android'
repositories {
mavenCentral()
}
dependencies {
compile files('.....jar')
compile project('....')
compile 'com.android.support:support-v4:13.0.+'
}
android {
compileSdkVersion 17
buildToolsVersion "17.0.0"
defaultConfig {
minSdkVersion 11
targetSdkVersion 16
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
}
}
最后是我的
Instrumentation-Tests/build.gradle
文件:apply plugin: 'android'
repositories {
mavenCentral()
}
dependencies {
compile project(':MyApp')
compile files('.....jar')
compile 'com.android.support:support-v4:13.0.+'
}
android {
compileSdkVersion 17
buildToolsVersion "17.0.0"
defaultConfig {
minSdkVersion 11
targetSdkVersion 16
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
}
}
当我运行
gradle compileDebug
时,项目MyApp
(包括其所有模块)编译成功,但是Instrumentation-Tests
编译失败,因为它找不到在MyApp
中定义的android类。我已经阅读了文档和许多帖子,但我无法使其正常工作。我也尝试使用:
compile(project(':MyApp')) { transitive = true }
在声明依赖项时,是否有人遇到了同样的问题?我想将MyApp项目依赖项的输出包含在Instrumentation-Tests编译的类路径中,但我不知道是否可以使用android gradle插件实现。