一、settings.gradle 構(gòu)建腳本分析
1、Maven 遠程倉庫配置
pluginManagement 腳本塊 ,
- 用于 配置 Gradle 插件的 Maven 倉庫 ,
- 配置的是 構(gòu)建過程 中 , 使用的倉庫 ;
dependencyResolutionManagement 腳本塊 ,
- 用于 配置 依賴 的 Maven 倉庫 ,
- 配置的是 工程 或 模塊 下的依賴使用的倉庫 ;
在 dependencyResolutionManagement 腳本塊 中 定義的 repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
代碼的含義是 解析依賴時 , 只能使用本腳本塊中的 Maven 倉庫 , 不能使用 Module 子項目中的依賴 ;
repositoriesMode 模式有兩種 :
- RepositoriesMode.PREFER_PROJECT : 解析依賴庫時 , 優(yōu)先使用本地倉庫 , 本地倉庫沒有該依賴 , 則使用遠程倉庫 ;
- RepositoriesMode.FAIL_ON_PROJECT_REPOS : 解析依賴庫時 , 強行使用遠程倉庫 , 不管本地倉庫有沒有該依賴庫 ;
參考之前的 【Android Gradle 插件】Android 依賴管理 ② ( 為工程配置依賴倉庫 | 為工程構(gòu)建添加依賴倉庫 | classpath 引入依賴庫 | 配置依賴倉庫 ) 博客中的配置 ,
- pluginManagement 腳本塊中的 repositories 配置 , 對應(yīng)之前的 buildscript 中的 repositories 配置 ;
- dependencyResolutionManagement 腳本塊中的 repositories 配置 , 對應(yīng)之前的 allprojects 中的 repositories 配置 ;
2、目錄配置
settings.gradle 構(gòu)建腳本中的目錄設(shè)置 :
- rootProject.name 用于指定工程根目錄 , 在該目錄下有一個 build.gradle 構(gòu)建腳本 , 聲明后會自動執(zhí)行該構(gòu)建腳本 ;
rootProject.name = "LiveDataDemo"
- include 用于指定子項目 , 在子項目中也有一個 build.gradle 構(gòu)建腳本 , 聲明后會自動執(zhí)行該構(gòu)建腳本 ;
include ':app'
3、完整代碼示例
完整代碼示例 :
pluginManagement {
repositories {
gradlePluginPortal()
google()
mavenCentral()
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
}
}
rootProject.name = "LiveDataDemo"
include ':app'
二、根目錄下 build.gradle 構(gòu)建腳本分析
根目錄下 build.gradle 構(gòu)建腳本如下 :
// 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
表示當(dāng)前不會馬上引用該插件 , 在 Module 子項目 中使用到該插件時 , 才能正式應(yīng)用 ;
在此處 主要是為了說明 Gradle 插件的版本 , 沒有其它含義 ;
如 : 在 Module 子項目中 , 有如下配置 :
plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
}
則會立刻應(yīng)用 com.android.application
和 org.jetbrains.kotlin.android
Gradle 插件 , 此處就不會有插件版本了 ;
在之前的 build.gradle 配置 中 , 在 " buildscript / dependencies / classpath " 中 , 配置 Android Gradle 插件版本 是 4.2.1 , 也就是文章來源:http://www.zghlxwxcb.cn/news/detail-780057.html
- com.android.application
- com.android.library
插件 的 版本 ;文章來源地址http://www.zghlxwxcb.cn/news/detail-780057.html
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:4.2.1'
}
}
到了這里,關(guān)于【Android Gradle 插件】Android Studio 工程 Gradle 構(gòu)建流程 ② ( settings.gradle 構(gòu)建腳本分析 | 根目錄下 build.gradle 分析 )的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!