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

Android Studio不会让我build立这个。 它说com.mixpanel.blahblahblah没有find。 com.mixpanel.blahblahblah来自mavenCentral()我知道问题是因为它不承认mavenCentral(),因为它只承认其他回购。 我怎样才能包括这两个项目,并使这个项目工作?

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' } 

  • maven build android项目:指定aidl文件的位置
  • ADT 22 - 升级后缺少aapt.exe
  • Gradle中的多个maven存储库
  • maven支持android项目?
  • 添加本地.aar文件到我的gradle构build
  • 添加kSOAP依赖项到Gradle项目
  • 当Maven构build我的项目时,无法从库项目的jar中find类
  • 添加来自Maven的Facebook sdk后,“Error:Attribute”样式“已经被定义”错误
  • 我想你应该添加maven中心到你的buildscript仓库。 我有这样的工作没有问题:

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

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

     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' } 

    从现在开始,Android Studio使用jcenter而不是maven,您应该通过将mavenCentral更改为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比mavenCentral更完整更快

    jcenter将镜像mavenCentral存储库,所以如果遇到mavenCentral的问题,可以使用jcenter。

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

    我最近写了一个依赖pipe理工具来找出哪个依赖已经过时,你可以试试看。

    https://github.com/Jintin/andle