"无法解析所有依赖"与第三方库(Maven的从中央) [英] "Could not resolve all dependencies" with 3rd party libs (from Maven Central)
问题描述
在我的的build.gradle
,我定义一些第三方库,所有这一切都在Maven的中央是可用的。
{相关性
编译com.google code.gson:GSON:2.2.4
编译com.google.guava:番石榴:15.0'
编译com.netflix.rxjava:rxjava核心:0.14.2
编译com.netflix.rxjava:rxjava-机器人:0.14.2
}
(我们还手工管理下的罐子库
(Eclipse的用户),和我以前用的
为构建摇篮也与编译文件树(导演:'库',包括:的* .jar')
,但我想从客场走向简单,自动化依赖管理。)
无论如何,由于某种原因撷取DEPS失败:
*出了什么问题:
发生问题的根源配置项目MyApp的-Android的。
>无法解析配置所有的依赖:_debugCompile。
>找不到com.google code.gson:GSON:2.2.4。
要求:
:MyApp的-的Android:未指定
>找不到com.google.guava:番石榴:15.0。
要求:
:MyApp的-的Android:未指定
>找不到com.netflix.rxjava:rxjava核心:0.14.2。
要求:
:MyApp的-的Android:未指定
>找不到com.netflix.rxjava:rxjava-机器人:0.14.2。
要求:
:MyApp的-的Android:未指定
我是什么做错了吗?
我不知道是否我应该有
{库
mavenCentral()
}
...也对构建文件的顶层(不只是在 buildscript
),但补充说,没有帮助。
分辨率
我太草率;该确实帮,带无法解析的依赖。从那以后,我得到了编译错误,但是这比四项是由于实际上有在code一些dependendies(在库
)的 dependendies
。
所以在我的情况下,我不得不添加顶级库
指向Maven的中央以及一些额外的,我们其实是有dependiencies:
编译com.squareup.okhttp:okhttp:1.2.1
编译com.android.support:support-v4:13.0.0
编译com.android.support:support-v13:13.0.0
本(原件,碎)全的build.gradle
:
buildscript {
库{
mavenCentral()
}
依赖{
类路径'com.android.tools.build:gradle:0.7.1
}
}
应用插件:'机器人'依赖{
//编译文件树(导演:'库',包括:的* .jar)
编译com.google code.gson:GSON:2.2.4
编译com.google.guava:番石榴:15.0'
编译com.netflix.rxjava:rxjava核心:0.14.2
编译com.netflix.rxjava:rxjava-机器人:0.14.2
}安卓{
compileSdkVersion 19
buildToolsVersion19 defaultConfig {
14的minSdkVersion
targetSdkVersion 19
} sourceSets {
主要{
manifest.srcFile'的AndroidManifest.xml
java.srcDirs = ['src'中]
resources.srcDirs = ['src'中]
aidl.srcDirs = ['src'中]
renderscript.srcDirs = ['src'中]
res.srcDirs = ['水库']
assets.srcDirs = ['资产']
} //移动测试,测试/ JAVA,测试/ RES等...
instrumentTest.setRoot(测试) //移动构建类型构建类型/<&型GT;
//例如,建立类型/调试/ JAVA,内置类型/调试/ AndroidManifest.xml中,...
//这个动作出来在src / LT他们默认位置和的;类型> / ...这将
//与SRC /冲突正在使用的主要来源集。
//添加新的构建类型或产品的口味应该陪同
//通过类似定制。
debug.setRoot(集结类型/调试)
release.setRoot(集结类型/释放)
}}
事实上,你需要添加
{库
mavenCentral()
}
在顶层的的build.gradle
来指定要搜索的相关性。
In my build.gradle
, I define some 3rd party libs, all of which are available in Maven Central.
dependencies {
compile 'com.google.code.gson:gson:2.2.4'
compile 'com.google.guava:guava:15.0'
compile 'com.netflix.rxjava:rxjava-core:0.14.2'
compile 'com.netflix.rxjava:rxjava-android:0.14.2'
}
(We also have manually managed jars under libs
(for Eclipse users), and I used to use those
for Gradle builds too, with compile fileTree(dir: 'libs', include: '*.jar')
, but I'm trying to move away from that towards simpler, automated dependency management.)
Anyway, for some reason fetching the deps fails:
* What went wrong:
A problem occurred configuring root project 'MyApp-Android'.
> Could not resolve all dependencies for configuration ':_debugCompile'.
> Could not find com.google.code.gson:gson:2.2.4.
Required by:
:MyApp-Android:unspecified
> Could not find com.google.guava:guava:15.0.
Required by:
:MyApp-Android:unspecified
> Could not find com.netflix.rxjava:rxjava-core:0.14.2.
Required by:
:MyApp-Android:unspecified
> Could not find com.netflix.rxjava:rxjava-android:0.14.2.
Required by:
:MyApp-Android:unspecified
What am I doing wrong?
I was wondering if I should have
repositories {
mavenCentral()
}
...also on the top level of the build file (not just inside buildscript
), but adding that didn't help.
Resolution
I was too hasty; that did help with "Could not resolve dependencies". After that I got compilation errors, but that was due to in fact having some more dependendies in the code (and in libs
) than the four entries in dependendies
above.
So in my case I had to add the top-level repositories
pointing to Maven Central plus some additional dependiencies that we actually had:
compile 'com.squareup.okhttp:okhttp:1.2.1'
compile 'com.android.support:support-v4:13.0.0'
compile 'com.android.support:support-v13:13.0.0'
The (original, broken) full build.gradle
:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.7.1'
}
}
apply plugin: 'android'
dependencies {
// compile fileTree(dir: 'libs', include: '*.jar')
compile 'com.google.code.gson:gson:2.2.4'
compile 'com.google.guava:guava:15.0'
compile 'com.netflix.rxjava:rxjava-core:0.14.2'
compile 'com.netflix.rxjava:rxjava-android:0.14.2'
}
android {
compileSdkVersion 19
buildToolsVersion "19"
defaultConfig {
minSdkVersion 14
targetSdkVersion 19
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
// Move the tests to tests/java, tests/res, etc...
instrumentTest.setRoot('tests')
// Move the build types to build-types/<type>
// For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
// This moves them out of them default location under src/<type>/... which would
// conflict with src/ being used by the main source set.
// Adding new build types or product flavors should be accompanied
// by a similar customization.
debug.setRoot('build-types/debug')
release.setRoot('build-types/release')
}
}
Indeed you need to add a
repositories {
mavenCentral()
}
at the top level of your build.gradle
to specify where to search for your dependencies.
这篇关于&QUOT;无法解析所有依赖&QUOT;与第三方库(Maven的从中央)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!