我正在将我的 android 项目迁移到 gradle 构建系统,但我无法从我的 Integration Test Android 项目中导入我的 Android 项目。
我正在使用带有多个 android-libraries 的多项目配置,它运行良好,但是我在使用多项目设置设置我的测试项目时遇到了问题。由于外部原因,我需要继续使用这种结构。
MyProject/
| settings.gradle
+ MyApp/
| build.gradle
| src
| res
| libs
+ Instrumentation-Tests/
| build.gradle
| src
| res
| libs
我当前的配置文件如下所示:
设置.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
.
我已经阅读了文档和很多帖子,但我无法让它工作,我也尝试过使用:
compile(project(':MyApp')) { transitive = true }
声明依赖时。
有没有人有同样的问题?
我想将MyApp
项目依赖项的输出包含到Instrumentation-Tests
编译的类路径中,但我不知道是否可以使用 androidgradle
插件。