更新 agp9

This commit is contained in:
Joker.X
2026-02-12 10:11:16 +08:00
parent 0309299beb
commit d7b54a2ff9
8 changed files with 58 additions and 69 deletions

4
.gitignore vendored
View File

@@ -14,6 +14,6 @@
.cxx .cxx
local.properties local.properties
/.idea/ /.idea/
/android-project-compose-docs/
/context/ /context/
/blog_post.md /AGENTS.md
/CLAUDE.md

View File

@@ -51,33 +51,33 @@ AndroidProject-Compose 是一个包含网络、状态、导航、主题、数据
### 核心技术 ### 核心技术
| 类别 | 技术选型 | 版本号 | 说明 | | 类别 | 技术选型 | 说明 |
|-------|---------------------------|------------|-------------------| |-------|---------------------------|-------------------|
| 编程语言 | Kotlin | 2.2.21 | 100% Kotlin 开发 | | 编程语言 | Kotlin | 100% Kotlin 开发 |
| UI 框架 | Jetpack Compose | 2025.11.01 | 声明式 UI 框架 | | UI 框架 | Jetpack Compose | 声明式 UI 框架 |
| 依赖注入 | Hilt | 2.57.2 | 基于 Dagger 的依赖注入框架 | | 依赖注入 | Hilt | 基于 Dagger 的依赖注入框架 |
### 功能模块 ### 功能模块
| 类别 | 技术选型 | 版本号 | 说明 | | 类别 | 技术选型 | 说明 |
|-------|-----------------------|---------------|------------------| |-------|-----------------------|------------------|
| 导航 | Navigation Compose | 2.9.6 | Compose 导航组件 | | 导航 | Navigation Compose | Compose 导航组件 |
| 网络请求 | Retrofit + OkHttp | 3.0.0 + 5.3.2 | HTTP 客户端 | | 网络请求 | Retrofit + OkHttp | HTTP 客户端 |
### 数据存储 ### 数据存储
| 类别 | 技术选型 | 版本号 | 说明 | | 类别 | 技术选型 | 说明 |
|------|------|-------|------------| |------|------|------------|
| 数据库 | Room | 2.8.4 | SQLite 数据库 | | 数据库 | Room | SQLite 数据库 |
| 本地存储 | MMKV | 2.2.4 | 高性能键值存储 | | 本地存储 | MMKV | 高性能键值存储 |
### 开发工具 ### 开发工具
| 类别 | 技术选型 | 版本号 | 说明 | | 类别 | 技术选型 | 说明 |
|------|---------------|--------|-------------| |------|---------------|-------------|
| 日志框架 | Timber | 5.0.1 | 日志管理 | | 日志框架 | Timber | 日志管理 |
| 网络调试 | Chucker | 4.2.0 | 网络请求监控 | | 网络调试 | Chucker | 网络请求监控 |
| 内存检测 | LeakCanary | 2.14 | 内存泄漏检测 | | 内存检测 | LeakCanary | 内存泄漏检测 |
## 📱 功能模块目录 ## 📱 功能模块目录
@@ -108,7 +108,6 @@ AndroidProject-Compose 是一个包含网络、状态、导航、主题、数据
## 项目结构 ## 项目结构
``` ```
├── app/ # 应用入口
├── core/ # 核心 ├── core/ # 核心
│ ├── base/ # 基础抽象 │ ├── base/ # 基础抽象
│ ├── data/ # 数据层 │ ├── data/ # 数据层

View File

@@ -51,33 +51,33 @@ AndroidProject-Compose is a **single-module Jetpack Compose scaffold** that ship
### Core Technologies ### Core Technologies
| Category | Technology | Version | Description | | Category | Technology | Description |
|-----------------------|---------------------|------------|------------------------------| |-----------------------|---------------------|------------------------------|
| Programming Language | Kotlin | 2.2.21 | 100% Kotlin | | Programming Language | Kotlin | 100% Kotlin |
| UI Framework | Jetpack Compose | 2025.11.01 | Declarative UI framework | | UI Framework | Jetpack Compose | Declarative UI framework |
| Dependency Injection | Hilt | 2.57.2 | Dagger-based DI framework | | Dependency Injection | Hilt | Dagger-based DI framework |
### Feature Modules ### Feature Modules
| Category | Technology | Version | Description | | Category | Technology | Description |
|------------|------------------------|---------------|---------------------------| |------------|------------------------|---------------------------|
| Navigation | Navigation Compose | 2.9.6 | Compose navigation | | Navigation | Navigation Compose | Compose navigation |
| Network | Retrofit + OkHttp | 3.0.0 + 5.3.2 | HTTP client | | Network | Retrofit + OkHttp | HTTP client |
### Data Storage ### Data Storage
| Category | Technology | Version | Description | | Category | Technology | Description |
|---------------|------------|---------|----------------------------------| |---------------|------------|----------------------------------|
| Database | Room | 2.8.4 | SQLite database | | Database | Room | SQLite database |
| Local Storage | MMKV | 2.2.4 | High-performance key-value store | | Local Storage | MMKV | High-performance key-value store |
### Development Tools ### Development Tools
| Category | Technology | Version | Description | | Category | Technology | Description |
|-------------------|------------|---------|------------------------| |-------------------|------------|------------------------|
| Logging | Timber | 5.0.1 | Log management | | Logging | Timber | Log management |
| Network Debugging | Chucker | 4.2.0 | Network request monitor| | Network Debugging | Chucker | Network request monitor|
| Memory Leak Check | LeakCanary | 2.14 | Memory leak detection | | Memory Leak Check | LeakCanary | Memory leak detection |
## 📱 Feature Module Directory ## 📱 Feature Module Directory
@@ -105,7 +105,6 @@ AndroidProject-Compose is a **single-module Jetpack Compose scaffold** that ship
## Project Structure ## Project Structure
``` ```
├── app/ # App entry
├── core/ # Core ├── core/ # Core
│ ├── base/ # Base abstractions │ ├── base/ # Base abstractions
│ ├── data/ # Data layer │ ├── data/ # Data layer

View File

@@ -1,10 +1,6 @@
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
plugins { plugins {
// Android 应用构建插件 // Android 应用构建插件
alias(libs.plugins.android.application) alias(libs.plugins.android.application)
// Kotlin Android 支持
alias(libs.plugins.kotlin.android)
// Compose 编译插件 // Compose 编译插件
alias(libs.plugins.kotlin.compose) alias(libs.plugins.kotlin.compose)
// Kotlin 序列化插件 // Kotlin 序列化插件
@@ -21,7 +17,9 @@ android {
namespace = "com.joker.kit" namespace = "com.joker.kit"
// 编译期使用的 SDK 版本 // 编译期使用的 SDK 版本
compileSdk { compileSdk {
version = release(36) version = release(36) {
minorApiLevel = 1
}
} }
defaultConfig { defaultConfig {
@@ -136,13 +134,6 @@ android {
} }
} }
kotlin {
compilerOptions {
// Kotlin 编译生成的 JVM 字节码版本
jvmTarget.set(JvmTarget.JVM_17)
}
}
dependencies { dependencies {
// AndroidX Core 基础 // AndroidX Core 基础
implementation(libs.androidx.core.ktx) implementation(libs.androidx.core.ktx)
@@ -190,7 +181,6 @@ dependencies {
implementation(libs.hilt.navigation.compose) implementation(libs.hilt.navigation.compose)
androidTestImplementation(libs.hilt.android.testing) androidTestImplementation(libs.hilt.android.testing)
kspAndroidTest(libs.hilt.android.compiler) kspAndroidTest(libs.hilt.android.compiler)
compileOnly(libs.ksp.gradlePlugin)
// 数据库 (Room) // 数据库 (Room)
implementation(libs.androidx.room.runtime) implementation(libs.androidx.room.runtime)

View File

@@ -4,8 +4,6 @@
plugins { plugins {
// Android应用程序插件用于构建Android应用 // Android应用程序插件用于构建Android应用
alias(libs.plugins.android.application) apply false alias(libs.plugins.android.application) apply false
// Kotlin Android插件支持Kotlin语言开发
alias(libs.plugins.kotlin.android) apply false
// Kotlin Compose插件用于Jetpack Compose UI开发 // Kotlin Compose插件用于Jetpack Compose UI开发
alias(libs.plugins.kotlin.compose) apply false alias(libs.plugins.kotlin.compose) apply false
// Kotlin Serialization插件 // Kotlin Serialization插件

View File

@@ -1,15 +1,15 @@
[versions] [versions]
# 构建工具版本 # 构建工具版本
# Android Gradle Plugin: https://developer.android.com/studio/releases/gradle-plugin # Android Gradle Plugin: https://developer.android.com/studio/releases/gradle-plugin
agp = "8.13.1" agp = "9.0.0"
# Kotlin 编译器: https://kotlinlang.org/docs/releases.html # Kotlin 编译器: https://kotlinlang.org/docs/releases.html
kotlin = "2.2.21" kotlin = "2.3.10"
# Android 核心库版本 # Android 核心库版本
# AndroidX Core KTX: https://developer.android.com/jetpack/androidx/releases/core # AndroidX Core KTX: https://developer.android.com/jetpack/androidx/releases/core
coreKtx = "1.17.0" coreKtx = "1.17.0"
# AndroidX Activity Compose: https://developer.android.com/jetpack/androidx/releases/activity # AndroidX Activity Compose: https://developer.android.com/jetpack/androidx/releases/activity
activityCompose = "1.12.0" activityCompose = "1.12.3"
# AndroidX Lifecycle Runtime KTX: https://developer.android.com/jetpack/androidx/releases/lifecycle # AndroidX Lifecycle Runtime KTX: https://developer.android.com/jetpack/androidx/releases/lifecycle
lifecycleRuntimeKtx = "2.10.0" lifecycleRuntimeKtx = "2.10.0"
@@ -24,15 +24,15 @@ espressoCore = "3.7.0"
# Jetpack Compose 相关版本 # Jetpack Compose 相关版本
# Compose BOM: https://developer.android.com/jetpack/compose/bom # Compose BOM: https://developer.android.com/jetpack/compose/bom
# 说明: BOM 统一管理所有 Compose 库版本,确保兼容性 # 说明: BOM 统一管理所有 Compose 库版本,确保兼容性
composeBom = "2025.11.01" composeBom = "2026.01.01"
# 导航相关版本 # 导航相关版本
# Navigation Compose: https://developer.android.com/jetpack/androidx/releases/navigation # Navigation Compose: https://developer.android.com/jetpack/androidx/releases/navigation
navigationCompose = "2.9.6" navigationCompose = "2.9.7"
# 序列化相关版本 # 序列化相关版本
# Kotlinx Serialization JSON: https://github.com/Kotlin/kotlinx.serialization # Kotlinx Serialization JSON: https://github.com/Kotlin/kotlinx.serialization
kotlinxSerializationJson = "1.9.0" kotlinxSerializationJson = "1.10.0"
# 网络请求相关版本 # 网络请求相关版本
# OkHttp HTTP 客户端: https://square.github.io/okhttp/ # OkHttp HTTP 客户端: https://square.github.io/okhttp/
@@ -45,7 +45,7 @@ retrofit2KotlinxSerializationConverter = "1.0.0"
loggingInterceptor = "5.3.2" loggingInterceptor = "5.3.2"
# Chucker 网络调试工具: https://github.com/ChuckerTeam/chucker # Chucker 网络调试工具: https://github.com/ChuckerTeam/chucker
# 说明: 通过 OkHttp 拦截器机制在应用通知栏显示网络请求功能 # 说明: 通过 OkHttp 拦截器机制在应用通知栏显示网络请求功能
chucker = "4.2.0" chucker = "4.3.0"
# 日志框架版本 # 日志框架版本
# Timber 日志库: https://github.com/JakeWharton/timber # Timber 日志库: https://github.com/JakeWharton/timber
@@ -55,12 +55,12 @@ timber = "5.0.1"
# Hilt 依赖注入框架: https://developer.android.com/training/dependency-injection/hilt-android # Hilt 依赖注入框架: https://developer.android.com/training/dependency-injection/hilt-android
# GitHub: https://github.com/google/dagger # GitHub: https://github.com/google/dagger
# 说明: 基于 Dagger 的 Android 依赖注入库 # 说明: 基于 Dagger 的 Android 依赖注入库
hilt = "2.57.2" hilt = "2.59.1"
# Hilt Navigation Compose: https://developer.android.com/jetpack/androidx/releases/hilt # Hilt Navigation Compose: https://developer.android.com/jetpack/androidx/releases/hilt
hiltNavigationCompose = "1.3.0" hiltNavigationCompose = "1.3.0"
# KSP (Kotlin Symbol Processing): https://github.com/google/ksp # KSP (Kotlin Symbol Processing): https://github.com/google/ksp
# 说明: Kotlin 注解处理器,用于代码生成 # 说明: Kotlin 注解处理器,用于代码生成
ksp = "2.3.2" ksp = "2.3.4"
# 启动页相关版本 # 启动页相关版本
# AndroidX Core Splashscreen: https://developer.android.com/jetpack/androidx/releases/core # AndroidX Core Splashscreen: https://developer.android.com/jetpack/androidx/releases/core
@@ -83,7 +83,7 @@ room = "2.8.4"
# Toast 相关版本 # Toast 相关版本
# Toaster 吐司框架: https://github.com/getActivity/Toaster # Toaster 吐司框架: https://github.com/getActivity/Toaster
toaster = "13.2" toaster = "13.8"
# 权限 # 权限
# XXPermissions 权限框架: https://github.com/getActivity/XXPermissions # XXPermissions 权限框架: https://github.com/getActivity/XXPermissions
@@ -91,7 +91,7 @@ xxpermissions = "28.0"
# 数据存储 # 数据存储
# 腾讯 MMKV 高性能存储: https://github.com/Tencent/MMKV # 腾讯 MMKV 高性能存储: https://github.com/Tencent/MMKV
mmkv = "2.2.4" mmkv = "2.3.0"
[libraries] [libraries]
# AndroidX 基础组件 # AndroidX 基础组件
@@ -165,7 +165,6 @@ xxpermissions = { module = "com.github.getActivity:XXPermissions", version.ref =
[plugins] [plugins]
android-application = { id = "com.android.application", version.ref = "agp" } 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-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
# 序列化相关插件 # 序列化相关插件

View File

@@ -1,7 +1,8 @@
#Fri Nov 28 10:19:33 CST 2025 #Wed Feb 11 17:44:28 CST 2026
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-9.0.0-bin.zip distributionSha256Sum=72f44c9f8ebcb1af43838f45ee5c4aa9c5444898b3468ab3f4af7b6076c5bc3f
distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.1-bin.zip
networkTimeout=10000 networkTimeout=10000
validateDistributionUrl=true validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME

View File

@@ -13,6 +13,9 @@ pluginManagement {
gradlePluginPortal() gradlePluginPortal()
} }
} }
plugins {
id("org.gradle.toolchains.foojay-resolver-convention") version "1.0.0"
}
dependencyResolutionManagement { dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories { repositories {