Skip to content

YihanLi-erisaer/Kotlin-Android-libraries-guide

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

Click here to view the full documentation for each library category:

KMP Shared Core Information Build Engineering Information Networking Libraries Information Image Loading Libraries Information Json Serialization Libraries Information Local Database Libraries Information KV Storage Libraries Information Dependency Injection Libraries Information State Control Libraries Information Async & App Architecture Libraries Information UI Components Libraries Information Advanced Functionality Libraries Information Navigation Libraries Information Permissions Libraries Information Audio & Video Libraries Information Animation Libraries Information

说明

Compose 支持情况:

  • 原生 API: 库提供官方或成熟的 Jetpack Compose 接口,可直接在 Compose 中使用(例如:Coil、Compose Navigation、paging-compose)。
  • 🔁 通过 Flow/LiveData 适配: 库原生可能基于回调或传统 API,但可通过 Flow / LiveData 等适配层自然集成到 Compose(例如:Retrofit 配合 Flow、Room 返回 Flow/LiveData)。
  • ⚠️ 需使用 AndroidView 包装: 库基于传统 View 体系或暂无原生 Compose API,使用时需通过 AndroidView 或其他桥接方案包装(例如:某些自定义 View 或第三方 View 库)。
  • 不支持Compose: 仅支持传统 View 系统或已停止维护,不建议在新 Compose 项目中直接使用。

库的状态:

  • 🔥 核心:必不可少,强烈推荐,Google官方支持或行业标准
  • 主流:广泛使用,社区活跃,推荐使用
  • 可选:特定场景使用,或非必需功能
  • 过时:已停止维护,不推荐新项目使用
  • 📦 基础:系统内置或基础库

**

实现难度:

  • :快速接入,配置少
  • :需要一定架构理解
  • :涉及系统调度或复杂状态管理

API易读性:

  • :声明式 / DSL 风格,理解成本低
  • 中等:配置项较多,但结构清晰
  • :命令式或概念复杂

调试友好度:

  • :可预览、调试工具完善
  • 中等:依赖日志或运行时观察
  • :定位问题成本高

性能

  • 🔥高:性能优越,适合高帧率或复杂场景
  • :性能一般,适合大多数常规场景
  • ⚠️:性能较差,可能导致 UI 卡顿或资源

反射开销

  • ✅无:不使用反射,性能稳定
  • ⚠️:少量反射,性能影响较小
  • ⚠️:部分反射或 Hook,可能影响性能
  • ⚠️:大量反射或自动初始化,可能显著影响性能

开源协议:

  • Apache 2.0:自由度高,无商业排他限制
  • Realm License:商业闭源协议,免费版有功能限制
  • BSD:可商业使用

维护频率:

  • ⭐⭐活跃:日活跃迭代,快速响应问题(如火山引擎字节重点)
  • ⭐活跃:定期更新维护,响应及时(如Bugly、Umeng、阿里云)

大厂背书:

  • :由知名大厂主导或强力支持,在行业内广泛使用
  • 中/中高:社区维护或小厂支持,但在特定领域有较好口碑
  • :个人或小团队维护,适合特定场景但不适合大规模商业项目

跨平台说明:

  • ✅ 表示可在 KMP / 多端项目中复用核心能力
  • ❌ 表示仅限 Android 平台

推荐组合方案

现代 Compose 应用(推荐)

  • 网络:Retrofit + OkHttp + Kotlin Coroutines(稳定、生态丰富)
  • 图片:Coil(Kotlin/Compose 优先)
  • 序列化:Moshi 或 Kotlinx.serialization(KMP选 kotlin x)
  • 本地存储:Room + DataStore(偏好/配置用 DataStore)
  • DI:Hilt(编译时注入、与 Jetpack 集成)
  • 异步/流:Kotlin Coroutines + Flow
  • UI:Jetpack Compose(配合 Accompanist 插件集)
  • 状态管理:若复杂用 Mavericks/Orbit,简单用 纯 ViewModel
  • 分页:Paging(与 Room/Network 无缝)
  • 日志/调试:Timber + LeakCanary (Debug)

企业级/跨平台(KMP / 类型安全优先)

  • 网络:Ktor(KMP 原生)或 Retrofit(若需 JVM 原生生态)
  • 序列化:Kotlinx.serialization(跨平台)
  • 本地数据库:SQLDelight(类型安全、KMP 支持)
  • DI:Dagger/Hilt(企业级、性能可控)
  • 异步:Coroutines + Flow

传统/兼容老项目(XML + RecyclerView)

  • 网络:Retrofit + OkHttp(或保留 RxJava 的话加 RxJava)
  • 图片:Glide(兼容性最佳)
  • 序列化:Gson(Java 互操作友好)
  • 本地存储:Room 或 Realm;偏好/小量键值用 SharedPreferences/MMKV
  • DI:Dagger2(或 Hilt 逐步迁移)
  • UI:XML 布局 + RecyclerView

轻量/快速原型

  • 网络:OkHttp 或 系统 HttpURLConnection(无外部依赖)
  • 图片:Coil 或 Picasso(体积小)
  • KV 存储:MMKV 或 SharedPreferences
  • DI:Koin(快速上手)
  • 测试:JUnit + MockK

说明:以上组合按“推荐(现代)→ 企业级 → 兼容旧项目 → 轻量原型”排序。若项目已有技术栈(如 RxJava、Glide),优先考虑渐进式迁移而非全量替换。

References list

Networking: Retrofit OkHttp Volley HttpURLConnection Ktor

Animation: Rive MotionLayout Rebound PAG Lottie Compose Animation

Image Loading: Glide Picasso Coil Fresco

Json Serialization: Gson Moshi Kotlinx Serialization Jackson Protocol Buffers

Local Database: Room Realm greenDAO SQLCipher SQLDelight

KV Storage: DataStore SharedPreferences MMKV DataStore Proto

Dependencies Injection Hilt Dagger Koin Guice kotlin-inject Molecule

State Control Lifecycle Mavericks Orbit MVI ViewModel Redux Kotlin

Async Process Application Architecture Kotlin Coroutines RxJava LiveData Flow

UI Components Material Components Jetpack Compose Compose Layouts ConstraintLayout RecyclerView Accompanist Horologist Landscapist

Advance Functionality WorkManager Firebase Paging Compose BiometricPrompt

APM 腾讯 Bugly 友盟 Umeng 火山引擎 APM 阿里云日志服务 SLS Sentry Firebase Crashlytics New Relic Datadog

LogAndDebug Timber Stetho LeakCanary Logback Flipper

Navigation Navigation Compose Navigation Compose Destinations Fragments Voyager Decompose

Permissions Runtime Permissions Accompanist Permissions PermissionX EasyPermissions PermissionsDispatcher RxPermissions

AudioVideo ExoPlayer Media3 FFmpegKit LibVLC IjkPlayer GSYVideoPlayer AliPlayer

Test JUnit 5 Espresso Robolectric Mockito MockK Compose Testing JMH Roborazzi Macrobenchmark Turbine

Icon Material Icons Material Icons Extended Android-Iconics Vector Asset Studio Lucid Feather Icons Compose-resource-icons

About

This is a guide for developing Kotlin Android libraries.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors