首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在build.gradle中包含多个存储库?

如何在build.gradle中包含多个存储库?
EN

Stack Overflow用户
提问于 2015-01-23 09:03:02
回答 3查看 11.8K关注 0票数 9

Android Studio不会让我做这个的。它说找不到com.mixpanel.blahblahblah。com.mixpanel.blahblahblah来自mavenCentral(),我知道问题出在它不能识别mavenCentral(),因为它只识别另一个repo。我如何才能将两者都包含进来并让这个项目正常工作呢?

代码语言:javascript
复制
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'
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-01-23 09:14:40

我认为您应该将maven central添加到您的buildscript存储库中。我是这样的,工作起来没问题:

代码语言:javascript
复制
buildscript {
    repositories {
        mavenCentral()
        maven { url 'http://download.crashlytics.com/maven' }
    }
...
}

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

编辑:我相信你的gradle文件应该是

代码语言:javascript
复制
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'
}
票数 7
EN

Stack Overflow用户

发布于 2015-10-21 13:13:36

由于Android Studio现在使用jcenter而不是maven,您应该通过将mavenCentral更改为jcenter来迁移存储库

代码语言:javascript
复制
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比mavenCentral更完整、更快。

票数 1
EN

Stack Overflow用户

发布于 2015-10-21 13:24:37

jcenter将镜像mavenCentral存储库,因此如果您在使用mavenCentral时遇到问题,可以使用jcenter。

并尽量避免在声明依赖项的版本号时使用+。这可能也是个问题。

我最近写了一个依赖管理工具来找出哪些依赖是过时的,你可以试一试。

https://github.com/Jintin/andle

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28101444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档