引入必要依赖并且完善 gradle 配置及注释说明

This commit is contained in:
Joker.X
2025-11-28 23:19:32 +08:00
parent 81aa95486e
commit 70e274a5cf
5 changed files with 293 additions and 17 deletions

View File

@@ -1,32 +1,155 @@
[versions]
# 构建工具版本
# Android Gradle Plugin: https://developer.android.com/studio/releases/gradle-plugin
agp = "8.13.1"
# Kotlin 编译器: https://kotlinlang.org/docs/releases.html
kotlin = "2.2.21"
# Android 核心库版本
# AndroidX Core KTX: https://developer.android.com/jetpack/androidx/releases/core
coreKtx = "1.17.0"
junit = "4.13.2"
junitVersion = "1.3.0"
espressoCore = "3.7.0"
lifecycleRuntimeKtx = "2.10.0"
# AndroidX Activity Compose: https://developer.android.com/jetpack/androidx/releases/activity
activityCompose = "1.12.0"
# AndroidX Lifecycle Runtime KTX: https://developer.android.com/jetpack/androidx/releases/lifecycle
lifecycleRuntimeKtx = "2.10.0"
# 测试框架版本
# JUnit 4 测试框架: https://junit.org/junit4/
junit = "4.13.2"
# AndroidX JUnit 扩展: https://developer.android.com/jetpack/androidx/releases/test#test-ext-junit
junitVersion = "1.3.0"
# AndroidX Espresso 测试框架: https://developer.android.com/training/testing/espresso
espressoCore = "3.7.0"
# Jetpack Compose 相关版本
# Compose BOM: https://developer.android.com/jetpack/compose/bom
# 说明: BOM 统一管理所有 Compose 库版本,确保兼容性
composeBom = "2025.11.01"
# 导航相关版本
# Navigation Compose: https://developer.android.com/jetpack/androidx/releases/navigation
navigationCompose = "2.9.6"
# 序列化相关版本
# Kotlinx Serialization JSON: https://github.com/Kotlin/kotlinx.serialization
kotlinxSerializationJson = "1.9.0"
# 网络请求相关版本
# OkHttp HTTP 客户端: https://square.github.io/okhttp/
okhttp = "5.3.2"
# Retrofit HTTP 客户端: https://square.github.io/retrofit/
retrofit = "3.0.0"
# Retrofit Kotlinx Serialization 转换器: https://github.com/JakeWharton/retrofit2-kotlinx-serialization-converter
retrofit2KotlinxSerializationConverter = "1.0.0"
# OkHttp 日志拦截器: https://github.com/square/okhttp/tree/master/okhttp-logging-interceptor
loggingInterceptor = "5.3.2"
# Chucker 网络调试工具: https://github.com/ChuckerTeam/chucker
# 说明: 通过 OkHttp 拦截器机制在应用通知栏显示网络请求功能
chucker = "4.2.0"
# 日志框架版本
# Timber 日志库: https://github.com/JakeWharton/timber
timber = "5.0.1"
# 依赖注入相关版本
# Hilt 依赖注入框架: https://developer.android.com/training/dependency-injection/hilt-android
# GitHub: https://github.com/google/dagger
# 说明: 基于 Dagger 的 Android 依赖注入库
hilt = "2.57.2"
# Hilt Navigation Compose: https://developer.android.com/jetpack/androidx/releases/hilt
hiltNavigationCompose = "1.3.0"
# KSP (Kotlin Symbol Processing): https://github.com/google/ksp
# 说明: Kotlin 注解处理器,用于代码生成
ksp = "2.3.2"
# 启动页相关版本
# AndroidX Core Splashscreen: https://developer.android.com/jetpack/androidx/releases/core
# 说明: 提供启动画面 API兼容 Android 12+ 的启动画面
androidxCoreSplashscreen = "1.2.0"
# 图片加载相关版本
# Coil Compose 图片加载库: https://coil-kt.github.io/coil/compose/
coilCompose = "2.7.0"
# 调试工具相关版本
# LeakCanary 内存泄漏检测工具: https://github.com/square/leakcanary
# 说明: 仅在 debug 构建中使用,用于检测内存泄漏
leakcanaryAndroid = "2.14"
# 数据库相关版本
# Room 数据库框架: https://developer.android.com/training/data-storage/room
# 说明: SQLite 的抽象层,提供流畅的数据库访问
room = "2.8.4"
[libraries]
# AndroidX 基础组件
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }
junit = { group = "junit", name = "junit", version.ref = "junit" }
androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" }
androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espressoCore" }
androidx-lifecycle-runtime-ktx = { group = "androidx.lifecycle", name = "lifecycle-runtime-ktx", version.ref = "lifecycleRuntimeKtx" }
androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "activityCompose" }
# Jetpack Compose UI
androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "composeBom" }
androidx-compose-ui = { group = "androidx.compose.ui", name = "ui" }
androidx-compose-ui-graphics = { group = "androidx.compose.ui", name = "ui-graphics" }
androidx-compose-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling" }
androidx-compose-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview" }
androidx-compose-material3 = { group = "androidx.compose.material3", name = "material3" }
androidx-compose-ui-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest" }
androidx-compose-ui-test-junit4 = { group = "androidx.compose.ui", name = "ui-test-junit4" }
androidx-compose-material3 = { group = "androidx.compose.material3", name = "material3" }
# 测试框架
junit = { group = "junit", name = "junit", version.ref = "junit" }
androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" }
androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espressoCore" }
# 导航
navigation-compose = { group = "androidx.navigation", name = "navigation-compose", version.ref = "navigationCompose" }
# 序列化
kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinxSerializationJson" }
# 网络请求
okhttp = { module = "com.squareup.okhttp3:okhttp", version.ref = "okhttp" }
retrofit = { module = "com.squareup.retrofit2:retrofit", version.ref = "retrofit" }
logging-interceptor = { module = "com.squareup.okhttp3:logging-interceptor", version.ref = "loggingInterceptor" }
retrofit2-kotlinx-serialization-converter = { module = "com.jakewharton.retrofit:retrofit2-kotlinx-serialization-converter", version.ref = "retrofit2KotlinxSerializationConverter" }
# 日志
timber = { module = "com.jakewharton.timber:timber", version.ref = "timber" }
# 依赖注入
ksp-gradlePlugin = { group = "com.google.devtools.ksp", name = "com.google.devtools.ksp.gradle.plugin", version.ref = "ksp" }
hilt-android = { module = "com.google.dagger:hilt-android", version.ref = "hilt" }
hilt-android-compiler = { module = "com.google.dagger:hilt-android-compiler", version.ref = "hilt" }
hilt-android-testing = { module = "com.google.dagger:hilt-android-testing", version.ref = "hilt" }
hilt-navigation-compose = { module = "androidx.hilt:hilt-navigation-compose", version.ref = "hiltNavigationCompose" }
# 图片加载
coil-compose = { module = "io.coil-kt:coil-compose", version.ref = "coilCompose" }
# 启动页
androidx-core-splashscreen = { group = "androidx.core", name = "core-splashscreen", version.ref = "androidxCoreSplashscreen" }
# 调试工具
leakcanary-android = { module = "com.squareup.leakcanary:leakcanary-android", version.ref = "leakcanaryAndroid" }
chucker = { module = "com.github.chuckerteam.chucker:library", version.ref = "chucker" }
chucker-no-op = { module = "com.github.chuckerteam.chucker:library-no-op", version.ref = "chucker" }
# 数据库
androidx-room-runtime = { group = "androidx.room", name = "room-runtime", version.ref = "room" }
androidx-room-compiler = { group = "androidx.room", name = "room-compiler", version.ref = "room" }
androidx-room-ktx = { group = "androidx.room", name = "room-ktx", version.ref = "room" }
androidx-room-testing = { group = "androidx.room", name = "room-testing", version.ref = "room" }
androidx-room-paging = { group = "androidx.room", name = "room-paging", version.ref = "room" }
[plugins]
android-application = { id = "com.android.application", version.ref = "agp" }
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
# 序列化相关插件
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
# 依赖注入相关插件
hilt = { id = "com.google.dagger.hilt.android", version.ref = "hilt" }
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }