gradle 7新版本适配
Gradle 7最低版本配置
| 版本名称 | 最低版本 |
|---|---|
| Android-Gradle-Plugin | 7.4 |
| SDK Build Tools | 30.0.3 |
| NDK | 23.1.xxx |
| jdk | 11 |
| Gradle-wrapper | 7.5 |
使用Version Catalog 管理Android依赖
优点:
- 对所有module可见,可统一管理所有module的依赖
- 支持声明依赖bundles,组合打包依赖减少代码重复
- 支持单独的libs.versions.toml文件中配置依赖,支持在项目间共享依赖
低版本gradle下,高版本可以不用添加 首先在settings.gradle 文件下添加
enableFeaturePreview("VERSION_CATALOGS")
然后我们就可以开始了
1.低版本项目build中的buildScript下maven就可以配置在settings.gradle的pluginManagement下
对于如果是http的,可能需要在maven里添加allowInsecureProtocol = true
2.低版本项目的allprojects下的maven配置到settings.gradle的dependencyResolutionManagement下
优点:
- 对所有module可见,可统一管理所有module的依赖
- 支持声明依赖bundles,组合打包减少重复代码
- 支持单独的libs.versions.toml 文件中配置依赖。支持在项目间共享依赖。
不要在settings.gradle配置
versionCatalog {
library("appcompat", "androidx.appcompat", "appcompat")
}
有些地方在setttings.radle配置,但是我这里配置无法识别library()
lbs.versions.toml 如何配置
在项目的根目录 gradle文件夹下创建文件lbs.versions.toml
TOML 语法
[versions] # 定义版本号(推荐复用)
[versions]
appcompat = "1.3.0"
[libraries] # 定义第三方库(对应 implementation/api 等)
[libraries]
# AndroidX
appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" }
//在app build.gradle中
implementation libs.appcompat
[plugins] # 定义 Gradle 插件(可选)
[plugins]
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
// build.gradle
plugins {
alias(libs.plugins.kotlin.android)
}