我试图让我现有的
Android项目使用gradle和IntelliJ 12.
以前我让它与maven一起工作,但这似乎不像gradle那么灵活,而且我认为我知道的是我需要更少的子文件夹.
我的Android项目分为干净的java库(:core)和实际的Application(:android).这两个项目都在我的主项目文件夹中.
~-+MainProject
|--+core
| L--build.gradle
|--+android
| L--build.gradle
|--build.gradle
L--settings.gradle
我认为让gradle工作的理想解决方案是将(:core)和(:android)项目视为嵌套项目,这意味着我可以简单地使用我的cmd在MainProject源文件夹中启动gradle任务.
但是我想出了不同的问题:
> Gradle依赖项仅包含在核心项目中
>这意味着在instrumentatetionTest和主项目文件中都没有
目录正确设置为源/测试目录
> IntelliJ不解析我在gradle中添加的任何类作为依赖项(AndroidSDK,junit,mockito,来自:core项目的那些)
>试图使用插件的’想法’,但要么我错了,要么没有解决问题
>我得到了重复的依赖错误,用于构建APK
>必须与junit有关:4.11和mockito-core:我添加了1.9.5
>我试过的:
>删除从属关系 – >构建失败导致某些课程当然无法解决
>改为junit:4.5在其他一些帖子中提到 – >完全没有变化
这是* .gradle配置
MainProject:
– settings.gradle
include ':core', ':android'
– build.gradle
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.6.+'
}
}
subprojects {
repositories {
mavenLocal()
maven { url "http://repo.maven.apache.org/maven2" }
}
}
:核心
– build.gradle
apply plugin: 'java'
dependencies {
testCompile 'junit:junit:4.11'
testCompile 'org.mockito:mockito-core:1.9.5'
}
:机器人
apply plugin: 'android'
repositories {
mavenCentral()
}
dependencies {
compile project(":core")
compile 'com.google.android:android:4.1.1.4'
instrumentTestCompile 'junit:junit:4.11'
instrumentTestCompile 'org.mockito:mockito-core:1.9.5'
instrumentTestCompile 'com.google.dexmaker:dexmaker:1.0'
instrumentTestCompile 'com.google.dexmaker:dexmaker-mockito:1.0'
instrumentTestCompile 'com.jayway.android.robotium:robotium-solo:3.6'
}
/* ... androidSettings
我希望有人可以帮助我
MFG Dornathal