Android Gradle无法解析库中的所有依赖项、自定义maven url

Android Gradle无法解析库中的所有依赖项、自定义maven url,android,gradle,android-studio,Android,Gradle,Android Studio,我正在使用Crashlytics,它提供了一个定制的Maven url。我正在尝试将Crashlytics代码移动到库中 库build.gradle文件如下: buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.9.+' } } repositories { mave

我正在使用Crashlytics,它提供了一个定制的Maven url。我正在尝试将Crashlytics代码移动到库中

build.gradle
文件如下:

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

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

dependencies {
    compile 'com.crashlytics.android:crashlytics:1.+'
}
当自己建立这个图书馆项目时,一切都进行得很顺利。 但是,当我将库作为依赖项添加到另一个项目中时,gradle同步仅在我将自定义maven url添加到其
build.gradle
中时才会成功。否则,将显示以下消息:

Error:A problem occurred configuring project ':MyApp'.
> Could not resolve all dependencies for configuration ':MyApp:_debugCompile'.
   > Could not find any version that matches com.crashlytics.android:crashlytics:1.+.
     Required by:
         my-app:MyApp:unspecified > my-app:MyLibrary:unspecified

为什么我需要添加
maven{url'http://download.crashlytics.com/maven“}
MyApp
项目?有更好的解决方案吗?

这是预期的行为。谢谢,@Peter!这应该是预期的行为吗?它背后的理念是什么?基本思想是每个构建都应该明确地声明并完全控制它所使用的存储库。这可能也是为什么现在在已发布的Maven POM中声明存储库是非常不受欢迎的(即使在Maven社区中也是如此),以及为什么Gradle甚至不尝试使用这些信息。