赞
踩
- /*
- pluginManagement 脚本块,用于配置Gradle插件的Maven仓库,配置的是构建过程中,使用的仓库 ;
- pluginManagement 脚本块中的 repositories 配置 , 对应之前的 buildscript 中的 repositories 配置 ;
- */
- pluginManagement {
- repositories {
- google()
- mavenCentral()
- gradlePluginPortal()
- }
- }
- /*
- dependencyResolutionManagement 脚本块,用于配置依赖的Maven仓库 ,配置的是工程或模块下的依赖使用的仓库 ;
- 在 dependencyResolutionManagement 脚本块中定义
- repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) 代码的含义是 解析依赖时 , 只能使用本脚本块中的 Maven 仓库 , 不能使用 Module 子项目中的依赖 ;
- repositoriesMode 模式有两种 :
- RepositoriesMode.PREFER_PROJECT : 解析依赖库时 , 优先使用本地仓库 , 本地仓库没有该依赖 , 则使用远程仓库 ;
- RepositoriesMode.FAIL_ON_PROJECT_REPOS : 解析依赖库时 , 强行使用远程仓库 , 不管本地仓库有没有该依赖库 ;
- dependencyResolutionManagement 脚本块中的 repositories 配置 , 对应之前的 allprojects 中的 repositories 配置 ;
- */
- dependencyResolutionManagement {
- repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
- repositories {
- google()
- mavenCentral()
- }
- }
- rootProject.name = "My Application"
- include ':app'

目录
pluginManagement 脚本块 ,
dependencyResolutionManagement 脚本块 ,
在 dependencyResolutionManagement 脚本块 中 定义的 repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
代码的含义是 解析依赖时 , 只能使用本脚本块中的 Maven 仓库 , 不能使用 Module 子项目中的依赖 ;
repositoriesMode 模式有两种 :
参考之前的 【Android Gradle 插件】Android 依赖管理 ② ( 为工程配置依赖仓库 | 为工程构建添加依赖仓库 | classpath 引入依赖库 | 配置依赖仓库 ) 博客中的配置 ,
settings.gradle 构建脚本中的目录设置 :
rootProject.name = "LiveDataDemo"
include ':app'
完整代码示例 :
- pluginManagement {
- repositories {
- gradlePluginPortal()
- google()
- mavenCentral()
- }
- }
- dependencyResolutionManagement {
- repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
- repositories {
- google()
- mavenCentral()
- }
- }
- rootProject.name = "LiveDataDemo"
- include ':app'

根目录下 build.gradle 构建脚本如下 :
- // Top-level build file where you can add configuration options common to all sub-projects/modules.
- plugins {
- id 'com.android.application' version '7.3.1' apply false
- id 'com.android.library' version '7.3.1' apply false
- id 'org.jetbrains.kotlin.android' version '1.7.20' apply false
- }
在 plugins 中使用
id 'com.android.application' version '7.3.1' apply false
配置 Gradle 插件 , 下面分析每个配置的含义 :
com.android.application
插件 ,version '7.3.1'
说明引入插件的版本号 ,apply false
表示当前不会马上引用该插件 , 在 Module 子项目 中使用到该插件时 , 才能正式应用 ;在此处 主要是为了说明 Gradle 插件的版本 , 没有其它含义 ;
如 : 在 Module 子项目中 , 有如下配置 :
- plugins {
- id 'com.android.application'
- id 'org.jetbrains.kotlin.android'
- }
则会立刻应用 com.android.application
和 org.jetbrains.kotlin.android
Gradle 插件 , 此处就不会有插件版本了 ;
在之前的 build.gradle 配置 中 , 在 " buildscript / dependencies / classpath " 中 , 配置 Android Gradle 插件版本 是 4.2.1 , 也就是
插件 的 版本 ;
- buildscript {
- repositories {
- google()
- jcenter()
- }
- dependencies {
- classpath 'com.android.tools.build:gradle:4.2.1'
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。