Luuk D. Jansen
Luuk D. Jansen

Reputation: 4496

Adding dependencies in Gradle

I am trying to move my Android project form IDEA to Android Studio with Gradle. However, I am having difficulties with the dependencies. I removed my "lib" dir, so the jars would be retrieved from maven. But how do I correctly add them?

E.g. org.apache.commons.lang3

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.7.+'
    }
}
apply plugin: 'android'

dependencies {
    compile 'com.google.android.gms:play-services:4.1.+'
    compile 'org.apache.commons:commons-lang3:2.6.+'
}

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.1"

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }

        // Move the tests to tests/java, tests/res, etc...
        instrumentTest.setRoot('tests')

        // Move the build types to build-types/<type>
        // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
        // This moves them out of them default location under src/<type>/... which would
        // conflict with src/ being used by the main source set.
        // Adding new build types or product flavors should be accompanied
        // by a similar customization.
        debug.setRoot('build-types/debug')
        release.setRoot('build-types/release')
    }
}

This results in:

Failed to refresh Gradle project 'idoms-android'
         Could not find commons:commons-lang3:3.0.

It seems to be in the Maven Repository though.

Upvotes: 1

Views: 6973

Answers (2)

W.Man
W.Man

Reputation: 705

dependencies {
    compile 'org.apache.commons:commons-lang3:3.4'
}

Add above line in your build.gradle file, this is the latest version.

Also you can check it from here:

mvnrepository, Apache Commons Lang » 3.4

Upvotes: 0

CommonsWare
CommonsWare

Reputation: 1006674

You are missing this at the top level (i.e., a peer of android and dependencies):

repositories {
    mavenCentral()
}

The buildscript block has repositories and dependencies for the build process. You also need repositories and dependencies at the top level for the dependencies for your project itself.

Upvotes: 2

Related Questions