Я пытаюсь заставить мой существующий Android-проект работать с gradle и IntelliJ 12. Раньше он работал с maven, но это не казалось таким гибким, как gradle, и из того, что я думаю, я узнал, это то, что мне нужно меньше подпапки.
Мой проект Android разделен на чистую библиотеку Java (: core) и фактическое приложение (: android). Эти два проекта находятся в моей основной папке проекта.
~-+MainProject
|--+core
| L--build.gradle
|--+android
| L--build.gradle
|--build.gradle
L--settings.gradle
Я думаю, что идеальное решение для работы с Gradle — рассматривать проект (: core) и (: android) как вложенные проекты, что означает, что я могу просто использовать свой cmd в исходной папке MainProject для запуска задач Gradle.
Однако я столкнулся с разными проблемами:
- Gradle dependencies are only included in the core project
- that means neither in the instrumentatetionTest nor in the main project files are any directories correctly set as source / test directories
- IntelliJ doesn't resolve any classes that I added as dependencies in gradle (AndroidSDK, junit, mockito, those from the :core project)
- tried to use the plugin 'idea' but either I used it wrong or it didn't solve the problem
- I get duplicate dependency Error for building the APK
- must have something to do with junit:4.11 and mockito-core:1.9.5 that I added
- what I tried:
- deleting the dependencys -> build fails cause some classes of course could'nt be resolved
- переход на junit: 4.5+, как было предложено в какой-то другой теме -> вообще никаких изменений
Вот конфигурации *.gradle
Основной проект: -- 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 Дорнаталь