buildscript和allprojects的作用和区别是什么
2021-07-08 本文已影响0人
我要进大厂
在Android Studio的Project的build.gradle中,
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.0'
classpath 'com.novoda:bintray-release:0.4.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
maven {url 'https://dl.bintray.com/calvinning/maven'}
}
}
那么buildscript中的repositories和allprojects的repositories的作用和区别是什么呢?
答:
1、 buildscript里是gradle脚本执行所需依赖,分别是对应的maven库和插件(比如com.android.tools.build:gradle:2.3.0,在打包的时候,gradle会使用其中的task进行构建,但是你自己开发并不会用其中的东西,而项目的依赖就是你依赖的第三方框架,你是要直接使用其中的代码的)
2、 allprojects里是项目本身需要的依赖,比如我现在要依赖我自己maven库的toastutils库,那么我应该将maven {url 'https://dl.bintray.com/calvinning/maven'}写在这里,而不是buildscript中,不然找不到。
- The "buildscript" configuration section is for gradle itself (i.e. changes to how gradle is able to perform the build). So this section will usually include the Android Gradle plugin. --------
buildscript
配置项是给gradle自身的。(比如改变它告诉gradle如何去构建)所以这个选项经常包含the Android Gradle插件。 - The "allprojects" section is for the modules being built by Gradle. ----
allprojects
配置项告诉gradle如何去构建项目模块代码。 - Often times the repository section is the same for both, since both will get their dependencies from jcenter usually (or maybe maven central). But the "dependencies" section will be different. -- 通常,这两者的repository选项是一样,因为他们通常是从jcenter去获取他们的依赖(或者maven 中心),但是他们所依赖的包通常是不一样的。毕竟一个是构建项目用的到插件依赖包,一个是项目是项目依赖的依赖包。
- Usually the "dependencies" section for "allprojects" is empty since the dependencies for each module are unique and will be in the "build.gradle" file within each of the modules. However, if all of the modules shared the same dependencies then they could be listed here. -- 通常
allprojects
的dependencies
选项是空的,因为每个模块所依赖的依赖在他们模块里面的"build.gradle"文件是唯一的。当然,如果项目里所有的模块依赖相同,也可以列举在allprojects.dependencies
项里。
作者:CalvinNing
链接:https://www.jianshu.com/p/ee57e4de78a3
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。