I'm trying to get my existing Android project to work with gradle and IntelliJ 12. I used to work with maven, but it didn't seem to be as flexible as gradle, and from what I think I found out is that I need fewer subfolders.
My Android project is split into a clean java library (: core) and the actual application (: android). These two projects are in my main project folder.
~-+MainProject |--+core | L--build.gradle |--+android | L--build.gradle |--build.gradle L--settings.gradle
I think that the ideal solution for getting gradle to work with this is to consider the project (: core) and (: android) as nested projects, that is, I can just be with my cmd in the MainProject source folder to start gradle tasks.
However, I ran into various problems:
- Gradle dependencies are included only in the main project
- this means that neither the testTest tool nor the main project files have directories correctly set as source / test directories.
- IntelliJ does not allow any classes that I added as dependencies in gradle (AndroidSDK, junit, mockito, those from the project: core)
- I tried to use the plugin idea, but either I used it incorrectly or did not solve the problem.
- I get duplicate dependency Error to create APK
- should have something to do with junit: 4.11 and mockito-core: 1.9.5, which I added
- what i tried:
- removing dependencies -> building failures leads to the fact that some classes, of course, cannot be resolved.
- transition to junit: 4.5+ as suggested in some other thread -> no changes at all
Here are the * .gradle configurations
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" } } }
: core - build.gradle
apply plugin: 'java' dependencies { testCompile 'junit:junit:4.11' testCompile 'org.mockito:mockito-core:1.9.5' }
: Android
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
I hope someone can help me with this
MFG Dornathal
source share