AndroidX库另类声明方式无法解析问题求助
Kotlin DSL中AndroidX依赖简洁声明的配置方案
这种AndroidX.core.ktx的写法不是Gradle Kotlin DSL原生自带的,是通过自定义封装把依赖坐标转成了更简洁的结构,得手动加配置才能用,步骤如下:
1. 根目录配置全局扩展对象
在项目根目录的build.gradle.kts里,定义封装AndroidX依赖的对象,把所有常用的AndroidX模块按层级封装:
// 根目录 build.gradle.kts object AndroidX { // Core相关 object core { const val ktx = "androidx.core:core-ktx:1.12.0" // 替换成你需要的版本 } // Compose相关 object compose { const val ui = "androidx.compose.ui:ui:1.6.5" const val material3 = "androidx.compose.material3:material3:1.2.1" } // 可以继续加其他模块,比如lifecycle、room等 } // 把这个对象暴露给所有子模块 allprojects { extensions.add("AndroidX", AndroidX) }
2. 模块中直接使用
现在在模块级的build.gradle.kts里,就能像示例那样写依赖了:
// 模块级 build.gradle.kts dependencies { implementation(AndroidX.core.ktx) implementation(AndroidX.compose.ui) }
3. 可选:版本统一管理优化
如果想更方便维护版本号,把版本号单独抽出来:
// 根目录 build.gradle.kts object Versions { const val coreKtx = "1.12.0" const val composeUi = "1.6.5" } object AndroidX { object core { const val ktx = "androidx.core:core-ktx:${Versions.coreKtx}" } object compose { const val ui = "androidx.compose.ui:ui:${Versions.composeUi}" } }
内容的提问来源于stack exchange,提问作者Tonnie
相关产品推荐
相关产品推荐

