100 lines
4.4 KiB
TOML
100 lines
4.4 KiB
TOML
# 版本目录(Version Catalog):全工程唯一版本事实源
|
||
# 选型原则:全部采用相互兼容的已知稳定版(AGP 8.7.3 需 Gradle ≥ 8.9,wrapper 为 8.10.2)
|
||
|
||
[versions]
|
||
# 构建链
|
||
agp = "8.7.3"
|
||
kotlin = "2.0.21"
|
||
ksp = "2.0.21-1.0.28"
|
||
|
||
# 依赖注入
|
||
hilt = "2.52"
|
||
|
||
# 持久化
|
||
room = "2.6.1"
|
||
datastore = "1.1.1"
|
||
securityCrypto = "1.1.0-alpha06"
|
||
|
||
# 网络
|
||
retrofit = "2.11.0"
|
||
okhttp = "4.12.0"
|
||
kotlinxSerialization = "1.7.3"
|
||
|
||
# 协程与生命周期
|
||
coroutines = "1.9.0"
|
||
lifecycle = "2.8.7"
|
||
|
||
# AndroidX UI
|
||
coreKtx = "1.13.1"
|
||
appcompat = "1.7.0"
|
||
activity = "1.9.3"
|
||
fragment = "1.8.5"
|
||
navigation = "2.8.4"
|
||
material = "1.12.0"
|
||
splashscreen = "1.0.1"
|
||
|
||
# 测试
|
||
junit = "4.13.2"
|
||
androidxJunit = "1.2.1"
|
||
espresso = "3.6.1"
|
||
|
||
[libraries]
|
||
# AndroidX 基础
|
||
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }
|
||
androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" }
|
||
androidx-activity = { group = "androidx.activity", name = "activity-ktx", version.ref = "activity" }
|
||
androidx-fragment-ktx = { group = "androidx.fragment", name = "fragment-ktx", version.ref = "fragment" }
|
||
androidx-splashscreen = { group = "androidx.core", name = "core-splashscreen", version.ref = "splashscreen" }
|
||
|
||
# 生命周期
|
||
androidx-lifecycle-runtime = { group = "androidx.lifecycle", name = "lifecycle-runtime-ktx", version.ref = "lifecycle" }
|
||
androidx-lifecycle-viewmodel = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-ktx", version.ref = "lifecycle" }
|
||
androidx-lifecycle-livedata = { group = "androidx.lifecycle", name = "lifecycle-livedata-ktx", version.ref = "lifecycle" }
|
||
|
||
# 导航
|
||
androidx-navigation-fragment = { group = "androidx.navigation", name = "navigation-fragment-ktx", version.ref = "navigation" }
|
||
androidx-navigation-ui = { group = "androidx.navigation", name = "navigation-ui-ktx", version.ref = "navigation" }
|
||
|
||
# Room
|
||
androidx-room-runtime = { group = "androidx.room", name = "room-runtime", version.ref = "room" }
|
||
androidx-room-ktx = { group = "androidx.room", name = "room-ktx", version.ref = "room" }
|
||
androidx-room-compiler = { group = "androidx.room", name = "room-compiler", version.ref = "room" }
|
||
|
||
# DataStore + 加密存储
|
||
androidx-datastore-preferences = { group = "androidx.datastore", name = "datastore-preferences", version.ref = "datastore" }
|
||
androidx-security-crypto = { group = "androidx.security", name = "security-crypto", version.ref = "securityCrypto" }
|
||
|
||
# Material
|
||
google-material = { group = "com.google.android.material", name = "material", version.ref = "material" }
|
||
|
||
# Hilt
|
||
hilt-android = { group = "com.google.dagger", name = "hilt-android", version.ref = "hilt" }
|
||
hilt-compiler = { group = "com.google.dagger", name = "hilt-android-compiler", version.ref = "hilt" }
|
||
|
||
# 网络
|
||
retrofit = { group = "com.squareup.retrofit2", name = "retrofit", version.ref = "retrofit" }
|
||
retrofit-converter-kotlinx = { group = "com.squareup.retrofit2", name = "converter-kotlinx-serialization", version.ref = "retrofit" }
|
||
okhttp = { group = "com.squareup.okhttp3", name = "okhttp", version.ref = "okhttp" }
|
||
okhttp-logging = { group = "com.squareup.okhttp3", name = "logging-interceptor", version.ref = "okhttp" }
|
||
|
||
# 序列化
|
||
kotlinx-serialization-json = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-json", version.ref = "kotlinxSerialization" }
|
||
|
||
# 协程
|
||
kotlinx-coroutines-core = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core", version.ref = "coroutines" }
|
||
kotlinx-coroutines-android = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-android", version.ref = "coroutines" }
|
||
|
||
# 测试
|
||
junit = { group = "junit", name = "junit", version.ref = "junit" }
|
||
androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "androidxJunit" }
|
||
androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espresso" }
|
||
|
||
[plugins]
|
||
android-application = { id = "com.android.application", version.ref = "agp" }
|
||
android-library = { id = "com.android.library", version.ref = "agp" }
|
||
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
|
||
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
|
||
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
|
||
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
|
||
hilt = { id = "com.google.dagger.hilt.android", version.ref = "hilt" }
|