SuperAPI AI 工具集

android-gradle-logic

通用与其它

查看项目

更新于 10-15 23:57

技能介绍

用途:集中管理 Android 项目的 Gradle 构建配置,把共享逻辑放进 build-logic/ 复合构建中的可复用约定插件,使各模块的 build.gradle.kts 只需 plugins { alias(libs.plugins.myapp.android.library) } 加一个 namespace。

主要能力:以 nowinandroid 的 build-logic/ 为参考范例,覆盖容易出错的接线细节与 AGP 9 的变化。关键点:build-logic 不会继承根版本目录,需在 build-logic/settings.gradle.kts 中重建 libs 目录,否则约定插件无法引用 libs.* 并报 Unresolved reference: libs。

用法:在 build-logic/settings.gradle.kts 中写 dependencyResolutionManagement { versionCatalogs { create("libs") { from(files("../gradle/libs.versions.toml")) } } };在 gradle/libs.versions.toml 的 [plugins] 中声明约定插件 id,且必须与 build-logic 中 register(...) 的 id 完全一致,否则别名无法解析。本地注册的插件无需版本,included build 会提供。共享配置如 compileSdk、minSdk、Compose、JVM 工具链应只在约定插件中设置一次,Kotlin Android 模块可用 kotlin { jvmToolchain(21) }。

限制:上述模式面向 AGP 8。AGP 9 移除独立的 org.jetbrains.kotlin.android 插件,移除 BaseExtension 与旧 variant API(applicationVariants 改为 androidComponents { onVariants { … } }),kotlinOptions {} 移至顶层 kotlin { compilerOptions { … } },且 kapt 不兼容需迁移到 KSP。涉及这些的约定插件需更新,具体迁移步骤应参考专门的迁移技能。资料未提供更多平台、收费或效果信息。