mirror of
https://github.com/Joker-x-dev/AndroidProject-Compose.git
synced 2026-02-17 00:58:15 +00:00
更新 agp9
This commit is contained in:
4
.gitignore
vendored
4
.gitignore
vendored
@@ -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
|
||||||
37
README.md
37
README.md
@@ -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/ # 数据层
|
||||||
|
|||||||
37
README_EN.md
37
README_EN.md
@@ -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
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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插件
|
||||||
|
|||||||
@@ -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" }
|
||||||
|
|
||||||
# 序列化相关插件
|
# 序列化相关插件
|
||||||
|
|||||||
5
gradle/wrapper/gradle-wrapper.properties
vendored
5
gradle/wrapper/gradle-wrapper.properties
vendored
@@ -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
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
Reference in New Issue
Block a user