Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to include multiple Repositories in build.gradle?

Android Studio won't let me build this. It says com.mixpanel.blahblahblah is not found. com.mixpanel.blahblahblah comes from mavenCentral() I know the problem is because it doesn't recognize mavenCentral() because it only recognizes the other repo. How can I include both and get this project working?

apply plugin: 'com.android.application'
apply plugin: 'crashlytics'

buildscript {
    repositories {
        maven { url 'http://download.crashlytics.com/maven' }
    }

    dependencies {
        classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:1.+'
    }
}


repositories {
    maven { url 'http://download.crashlytics.com/maven' }
    mavenCentral()
}


android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "co.dilmile.dilmile"
        minSdkVersion 9
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:21.0.3'
    compile 'com.parse.bolts:bolts-android:1.1.2'
    compile 'com.loopj.android:android-async-http:1.4.6'
    compile 'com.google.code.gson:gson:2.3.1'
    compile 'com.facebook.android:facebook-android-sdk:3.20.0'
    compile 'com.android.support:support-v4:21.0.3'
    compile 'org.roboguice:roboguice:3.+'
    compile 'com.google.code.findbugs:jsr305:1.3.9'
    provided 'org.roboguice:roboblender:3.+'
    compile 'com.crashlytics.android:crashlytics:1.+'
    compile 'com.mixpanel.android:mixpanel-android:4.5.3'
}
like image 330
bharv14 Avatar asked Jan 23 '15 01:01

bharv14


People also ask

What is Mavencentral () in Gradle?

Maven Central is a popular repository hosting open source libraries for consumption by Java projects. To declare the Maven Central repository for your build add this to your script: Example 1. Adding central Maven repository. build.gradle.

Can Gradle use Maven repositories?

Gradle has a built in dependency management component that supports the Maven repository format. In order to configure a Gradle project to resolve dependencies declared in build.


2 Answers

I think you should add maven central to your buildscript repositories. I have it like this and works no problem:

buildscript {
    repositories {
        mavenCentral()
        maven { url 'http://download.crashlytics.com/maven' }
    }
...
}

allprojects {
    repositories {
        mavenCentral()
        maven { url 'http://download.crashlytics.com/maven' }
    }
}

Edit: I believe your gradle file should be

apply plugin: 'com.android.application'
apply plugin: 'crashlytics'

buildscript {
    repositories {
        maven { url 'http://download.crashlytics.com/maven' }
        mavenCentral()
    }

    dependencies {
        classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:1.+'
    }
}


repositories {
    maven { url 'http://download.crashlytics.com/maven' }
    mavenCentral()
}


android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "co.dilmile.dilmile"
        minSdkVersion 9
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:21.0.3'
    compile 'com.parse.bolts:bolts-android:1.1.2'
    compile 'com.loopj.android:android-async-http:1.4.6'
    compile 'com.google.code.gson:gson:2.3.1'
    compile 'com.facebook.android:facebook-android-sdk:3.20.0'
    compile 'com.android.support:support-v4:21.0.3'
    compile 'org.roboguice:roboguice:3.+'
    compile 'com.google.code.findbugs:jsr305:1.3.9'
    provided 'org.roboguice:roboblender:3.+'
    compile 'com.crashlytics.android:crashlytics:1.+'
    compile 'com.mixpanel.android:mixpanel-android:4.5.3'
}
like image 82
darnmason Avatar answered Sep 21 '22 11:09

darnmason


Since now Android Studio use jcenter instead of maven, you should migrate the repository by change mavenCentral to jcenter

buildscript {
    repositories {
        //old
        //mavenCentral()
        //new
        jcenter()
        maven { url 'http://download.crashlytics.com/maven' }
    }
...
}

allprojects {
    repositories {
        //old
        //mavenCentral()
        //new
        jcenter()
        maven { url 'http://download.crashlytics.com/maven' }
    }
}

jcenter is more complete and faster than mavenCentral

like image 31
HendraWD Avatar answered Sep 23 '22 11:09

HendraWD