在开发的时候,我们经常会导入一些开源三方库,当我们在gradle中添加完相关的配置后,sync 时发现同步失败,同时可以看到类似如下的日志信息:
Failed to resolve:com.xxxx.----
这时,我们一般会对照文档查看一下是否有配置遗漏,一般情况下,我们遗漏最多的地方就是整个项目的build.gradle配置里的。
一般情况下,我们在添加时都会在 buildscript 和allproject里同时添加相关的配置内容:
buildscript {
repositories {
jcenter()
maven {url 'https://dl.bintray.com/xxx/maven'}
}
}
allprojects { repositories { jcenter() maven {url 'https://dl.bintray.com/xxx/maven'} } }
那么buildscript中的repositories和allprojects的repositories的作用和区别是什么呢?
答案:
buildscript 里面是gradle脚本执行所需依赖,分别是对应的maven库和插件库。
allprojects 里面是项目本身需要的依赖。
说明:
当我们不确定,且引入第三方的时候,不确定是项目所需依赖还是gradle脚本执行时所需依赖的时候,推荐在buildscript和allproject里面同时添加。