我有一个gradle思考问题我想要multidex 1.0.2所以我在顶级构建文件中设置了存储库并将其移出了buildscript(根据:Android Studio 3.0 Beta 1: Failed to resolve: com.android.support:multidex:1.0.2):
allprojects {
repositories {
maven { url 'https://maven.fabric.io/public' }
}
}
然而,Fabric似乎不喜欢这个。在我的项目(和库)的buildscript部分,我有:
buildscript {
dependencies {
classpath 'io.fabric.tools:gradle:1.+'
}
}
现在我明白了:
Error:Could not find any matches for io.fabric.tools:gradle:1.+ as no versions of io.fabric.tools:gradle are available. Searched in the following locations: file:/Applications/Android Studio 3.0 Preview.app/Contents/gradle/m2repository/io/fabric/tools/gradle/maven-metadata.xml file:/Applications/Android Studio 3.0 Preview.app/Contents/gradle/m2repository/io/fabric/tools/gradle/ https://jcenter.bintray.com/io/fabric/tools/gradle/maven-metadata.xml https://jcenter.bintray.com/io/fabric/tools/gradle/ Required by: project :
如何解决此冲突?我如何指定结构,如果不是在所有项目中,哪里可以获得自己的依赖项?
答案 0 :(得分:1)
错误:无法找到io.fabric.tools:gradle:1.+的任何匹配项,因为没有io.fabric.tools:gradle版本可用。
这是因为gradle只在jcenter repo中寻找插件。
要设置布料,您必须使用它:
buildscript {
repositories {
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath 'io.fabric.tools:gradle:1.+'
}
}
gradle插件需要它。
然后你必须添加:
repositories {
maven { url 'https://maven.fabric.io/public' }
}
它被项目中添加的依赖项使用。
答案 1 :(得分:0)
一位同事设法在app的build.gradle文件中使用以下声明解决了该问题:
repositories {
mavenCentral()
maven { url 'https://maven.fabric.io/public' }
maven { url 'https://maven.google.com' }
}