Android 项目中用得*多*火的第三方框架可能都在这里了!
平时总会发现一些大家都比较推崇的第三方框架,觉得非常不错暂时又用不到,于是就打算把它们都收藏起来,需要用到的时候就不用到处问到处搜了。收藏得多了,本着热爱分享拥抱开源的思想,于是贴出来给大家分享交流。如有纰漏,敬请拍砖指正。
欢迎众收藏爱好者补充或指正!
分类 | 二级分类 | 框架名称 | 简介 | Star 数 | *近 更新 |
---|---|---|---|---|---|
UI | 刷新 | SmartRefreshLayout | 智能下拉刷新框架 | 11k | 1天 |
UI | 刷新 | Android-PullToRefresh | 比较早的一款下拉刷新框架 | 8.6k | 5年 |
UI | 刷新 | android-Ultra-Pull-To-Refresh | 下拉刷新框架 | 9.0k | 2年 |
UI | 刷新 | BeautifulRefreshLayout | 众多优秀的下拉刷新汇总 | 2.0k | 2年 |
UI | 图表 | MPAndroidChart | 统计图表库 | 21k | 1天 |
UI | 图表 | hellocharts-android | 统计图表库 | 5.7k | 1月 |
UI | 图表 | smartTable | 自动生成表格框架 | 1.7k | 23天 |
UI | 图表 | AdaptiveTableLayout | 可阅读与编辑CSV文件的库 | 1.4k | 8月 |
UI | 图表 | TableView | 绘制表格 | 1.5k | 4天 |
UI | 菜单 | SlidingMenu | 比较早的一款侧滑菜单 | 10k | 4年 |
UI | 菜单 | MaterialDrawer | 侧滑菜单 | 9.1k | 1月 |
UI | 菜单 | SwipeBackLayout | 类似QQ侧滑菜单 | 5.0k | 8天 |
UI | 图片 | PhotoView | 大图展示 | 12k | 3月 |
UI | 图片 | subsampling-scale-image-view | 大图展示 | 4.0k | 1月 |
UI | 图片 | CircleImageView | 圆形图片 | 9.6k | 1月 |
UI | 图片 | uCrop | 图片剪裁 | 7.0k | 24天 |
UI | 图片 | android-gif-drawable | Gif 加载 | 6.0k | 3天 |
UI | 图片 | Matisse | 图片\视频选择库 | 6.7k | 1天 |
UI | 文本 | richeditor-android | 富文本编辑器 | 3.7k | 1年 |
UI | 弹窗 | material-dialogs | 可定制化的 Dialog API | 13k | 12天 |
UI | 弹窗 | Toasty | 定制不一样的 Toast | 4.1k | 11天 |
UI | 弹窗 | DialogUtil | Dialog 工具 | 0.7k | 15天 |
UI | 弹窗 | android-adDialog | 广告弹窗 | 2.3k | 1年 |
UI | 导航 | ViewPagerIndicator | ViewPager 指示器 | 9.7k | 5年 |
UI | 导航 | BottomBar | 底部导航栏 | 7.7k | 4月 |
UI | 导航 | FlycoTabLayout | TabLayout 库 | 6.3k | 1年 |
UI | 布局 | flexbox-layout | Android 弹性 / 流式布局 | 11k | 1月 |
UI | 布局 | AndroidAutoLayout | 屏幕适配布局 | 6.0k | 10月 |
UI | 布局 | FlowLayout | 流式布局 | 3.6k | 1月 |
UI | 布局 | vlayout | 整套布局方案和组件复用 | 7.8k | 23天 |
UI | 滑动删除 | AndroidSwipeLayout | 滑动删除 | 9.9k | 9月 |
UI | 滚动 | Android-ObservableScrollView | 监听可滚动 View 的滚动事件 | 8.7k | 2年 |
UI | 列表 | UltimateRecyclerView | 功能强大的 RecyclerView | 6.5k | 1月 |
UI | 选择器 | Android-PickerView | 仿 iOS 的选择控件 | 7.1k | 19天 |
UI | 选择器 | AndroidPicker | 安卓选择器类库 | 3.5k | 3月 |
UI | 下拉菜单 | DropDownMenu | 多条件筛选菜单 | 2.7k | 1年 |
UI | 轮播图 | banner | 广告图片轮播控件 | 5.8k | 4月 |
UI | 轮播图 | Android-ConvenientBanner | 通用的广告栏控件 | 3.5k | 5天 |
UI | WebView | AgentWeb | 高度封装的 WebView | 3.6k | 14天 |
UI | 高斯模糊 | 500px-android-blur | 高斯模糊控件 | 2.2k | 1年 |
UI | 高斯模糊 | BlurKit-Android | 高斯模糊控件 | 2.3k | 1年 |
UI | 角标 | android-viewbadger | 角标 / 徽章 | 2.9k | 5年 |
UI | 角标 | BGABadgeView-Android | 徽章控件 | 1.9k | 24天 |
UI | 其他 | AndroidSlidingUpPanel | 上拉面板 | 7.5k | 7月 |
UI | 其他 | AppIntro | 欢迎页 | 7.6k | 1月 |
UI | 其他 | Android-Bootstrap | UI框架 | 6.6k | 9月 |
UI | 其他 | emojicon | 表情文本 | 3.2k | 9月 |
UI | 其他 | RippleEffect | 水波纹效果 | 4.6k | 2年 |
UI | 其他 | InfiniteCycleViewPager | ViewPager | 4.7k | 8月 |
UI | 其他 | LoadingDrawable | 酷炫的加载动画 | 3.2k | 1年 |
UI | 其他 | QMUI_Android | 提高 UI 开发效率的 UI 库 | 4.7k | 5天 |
网络 | 框架 | retrofit | 网络框架 | 27k | 16天 |
网络 | 框架 | okhttp | 网络框架 | 26k | 6天 |
网络 | 框架 | volley | 网络框架 | 1.5k | 9天 |
网络 | 文件下载 | FileDownloader | 文件下载引擎 | 6.5k | 13天 |
网络 | 进度监听 | ProgressManager | okhttp 上传下载进度监听 | 1.5k | 5天 |
图片 | 框架 | glide | 图片框架 | 21k | 8天 |
图片 | 框架 | Android-Universal-Image-Loader | 图片框架 | 16k | 2年 |
图片 | 框架 | picasso | 图片框架 | 15k | 14天 |
图片 | 框架 | fresco | 图片框架 | 14k | 6天 |
图片 | 压缩 | Luban | *接近朋友圈的图片压缩算法 | 7.4k | 9天 |
图片 | 滤镜 | android-gpuimage | 图像滤镜框架 | 4.8k | 2年 |
图片 | 转换 | glide-transformations | Glide 图像转换器 | 6.0k | 11天 |
图片 | 选择器 | Matisse | 图片视频选择器 | 6.7k | 1天 |
图片 | 选择器 | TakePhoto | 图片选择 / 剪裁 / 压缩 | 4.8k | 1月 |
图片 | 选择器 | PhotoPicker | 仿微信图片选择器 | 2.5k | 4月 |
图片 | 文字识别 | tess-two | Android 图片文字识别 | 2.5k | 13天 |
视频 | 播放器 | JieCaoVideoPlayer | 节操视频播放器 | 6.6k | 6天 |
视频 | 播放器 | ijkplayer | Bilibili 开源播放器 | 18k | 2月 |
视频 | 播放器 | GSYVideoPlayer | 多功能视频播放器 | 5.7k | 8天 |
动画 | AE | lottie-android | 展示 AE 工具所作动画的框架 | 20k | 13天 |
动画 | 转场 | Material-Animations | 安卓转场动画演示 | 11k | 3月 |
动画 | View | AndroidViewAnimations | 安卓视图动画合集 | 9.3k | 9月 |
动画 | 多种 | animate | 多种动画效果 | 2.8k | 2年 |
动画 | 列表 | recyclerview-animators | RecyclerView 条目动画 | 7.8k | 2月 |
动画 | 列表 | spruce-android | 列表视图展现动画 | 2.6k | 3月 |
动画 | 粒子 | Grav | 粒子动画效果 | 2.2k | 1年 |
动画 | 爆炸 | ExplosionField | 爆裂动画效果 | 3.1k | 2年 |
动画 | 兼容 | Transitions-Everywhere | Transitions API 的兼容补丁 | 3.7k | 2月 |
异步 | 链式 | RxAndroid | Android 中的 RxJava 绑定 | 15k | 2月 |
异步 | 链式 | RxJava | 事件驱动的基于异步数据流的编程模式 | 32k | 2天 |
异步 | 链式 | agera | 谷歌开发的安卓链式编程框架 | 7.0k | 2月 |
数据库 | 轻量级 | realm-java | 轻量级数据库 | 9.4k | 3天 |
数据库 | 轻量级 | greenDAO | 轻量级数据库 | 9.8k | 16天 |
文件 | 选择器 | Android-FilePicker | 图片 / 文件选择器 | 1.4k | 19天 |
json | 解析 | gson | 谷歌官方 Json 库 | 12k | 2天 |
json | 解析 | fastjson | 阿里巴巴 Json 库 | 13k | 1天 |
字体 | 框架 | Calligraphy | 自定义字体库 | 7.6k | 11月 |
语言 | 汉字处理 | HanLP | 中文分词 、关键词提取等 | 6.8k | 2天 |
性能 | 卡顿 | AndroidPerformanceMonitor | 非侵入式性能监控组件 | 4.0k | 8月 |
性能 | 卡顿 | BlockCanaryEx | UI 卡顿检测 | 1.7k | 8月 |
性能 | 卡顿 | AndroidDevMetrics | 性能检测 | 1.3k | 2月 |
性能 | 内存 | leakcanary | 检查内存泄漏工具 | 19k | 8天 |
性能 | 生命周期 | RxLifecycle | 使用 RxJava 管理生命周期 | 5.5k | 2月 |
性能 | 缓存 | DiskLruCache | 硬盘缓存工具 | 4.3k | 1年 |
性能 | UI框架 | litho | 高性能安卓 UI 的构建框架 | 4.8k | 1天 |
热修复 | 框架 | tinker | 微信热修复框架 | 11k | 24天 |
热修复 | 框架 | dexposed | 阿里热修复框架 | 3.8k | 2年 |
插件化 | 框架 | DroidPlugin | 360 插件化框架 | 5.6k | 7月 |
插件化 | 框架 | dynamic-load-apk | Apk动态加载框架 | 5.2k | 10月 |
插件化 | 框架 | atlas | 阿里插件化框架 | 5.9k | 5月 |
插件化 | 框架 | Small | 插件化框架 | 4.1k | 9天 |
工具 | 工具类 | AndroidUtilCode | 安卓开发者不得不收集的代码 | 17k | 1天 |
工具 | 工具类 | android-common | 不只是工具类的公共库 | 4.6k | 1年 |
工具 | 工具类 | android-common | 通用 / 辅助 / 工具类的集合 | 2.9k | 11月 |
工具 | 工具类 | Lazy | 常用工具类整理 | 1.6k | 7月 |
工具 | 列表 | BaseRecyclerViewAdapterHelper | RecyclerAdapter 框架 | 13k | 21天 |
工具 | 列表 | baseAdapter | Android 万能的 Adapter | 3.7k | 1年 |
工具 | 列表 | FanLayoutManager | 风扇扇叶旋转效果列表 | 1.7k | 8月 |
工具 | 列表 | CarouselLayoutManager | 传送带效果列表 | 1.5k | 1年 |
工具 | 列表 | ChipsLayoutManager | 流式布局列表 | 2.2k | 1年 |
工具 | 状态栏 | StatusBarUtil | 设置状态栏的工具库 | 5.2k | 7天 |
工具 | 状态栏 | SystemBarTint | 状态栏着色工具 | 4.8k | 3年 |
通信 | 事件 | EventBus | Android 事件总线 | 18k | 4月 |
键盘 | 表情 | XhsEmoticonsKeyboard | 表情键盘解决方案 | 2.3k | 1年 |
键盘 | 冲突 | JKeyboardPanelSwitch | 解决键盘面板冲突 | 2.7k | 3月 |
扫描 | 二维码 | zxing | 二维码扫描 | 18k | 9天 |
注解 | 框架 | androidannotations | 快速开发框架 | 10k | 5月 |
注解 | 绑定 | butterknife | 为 Android View 设计的绑定注解 | 20k | 17天 |
注解 | 注入 | dagger2 | Android 依赖注入框架 | 10k | 1天 |
权限 | 请求 | PermissionsDispatcher | 基于注解处理权限请求 | 7.1k | 4天 |
权限 | 请求 | RxPermissions | 基于 RxJava 处理权限请求 | 6.1k | 3月 |
响应式 | UI | RxBinding | 安卓 UI 响应式编程 | 7.3k | 27天 |
响应式 | 事件 | otto | 事件总线框架 | 5.0k | 9天 |
hybrid | 框架 | JsBridge | Android 与 JavaScript 互调桥梁 | 4.7k | 4月 |
hybrid | 框架 | VasSonic | 轻量级高性能的 hybrid 框架 | 7.7k | 12天 |
崩溃 | 报告 | acra | 崩溃信息收集框架 | 4.3k | 1天 |
崩溃 | 处理 | CustomActivityOnCrash | 崩溃处理 | 2.3k | 5月 |
崩溃 | 预防 | NullAway | 检测 NullPointerExceptions | 2.0k | 3天 |
框架 | MVP | mosby | MVP 框架 | 4.4k | 9天 |
框架 | 多主题 | MagicaSakura | Android 多主题框架 | 2.6k | 9天 |
架构 | Clean | Android-CleanArchitecture | 一种清晰的 Android 架构 | 11k | 2月 |
架构 | Fragment | Fragmentation | 多 Fragment 架构的解决方案 | 6.3k | 1月 |
构建 | 工具 | buck | 快速构建工具 | 5.7k | 1天 |
编译 | 工具 | freeline | 秒级编译方案 | 4.5k | 4月 |
混淆 | 工具 | AndResGuard | Android 资源混淆工具 | 4.6k | 1月 |
测试 | 单元测试 | robolectric | Android 单元测试框架 | 3.9k | 1天 |
测试 | 单元测试 | mockito | Android 单元测试框架 | 6.6k | 5天 |
测试 | 单元测试 | truth | 谷歌的断言和命题框架 | 1.4k | 4天 |
调试 | 框架 | stetho | Android 开发调试神器 | 9.5k | 2月 |
调试 | 日志 | logger | 简单实用漂亮的日志打印框架 | 9.0k | 23天 |
调试 | 数据库 | Android-Debug-Database | 调试手机中数据库 | 4.0k | 2月 |
调试 | 方法 | hugo | 方法调试工具 | 5.9k | 2年 |
反编译 | 工具 | Apktool | 反编译 APK 工具 | 6.1k | 7天 |
Demo | Rxjava | RxJava-Android-Samples | 学习 Android 中 Rxjava | 6.4k | 9月 |
反编译 | 工具 | android-classyshark | APK 分析利器 | 4.7k | 17天 |
Demo | Dagger | u2020 | Dagger 高级教学示例 APP | 5.4k | 5月 |
Demo | MVP | androidmvp | Android 端 MVP 设计 APP | 5.1k | 2月 |
Demo | 框架 | android-architecture-components | Architecture Component 官方演示 | 7.8k | 6天 |
Demo | 测试 | android-testing | 集成四大自动化测试框架的 Demo | 5.3k | 14天 |
Demo | 设计模式 | java-design-patterns | java设计模式指南(英文 | 32k | 4天 |
APP | 仿造 | bilibili-android-client | 高仿哔哩哔哩动画安卓客户端 | 3.4k | 9月 |
APP | 播放器 | android-UniversalMusicPlayer | 谷歌教科书级音乐播放器 | 9.3k | 5天 |
APP | 播放器 | ExoPlayer | 谷歌出品可扩展媒体播放器 | 9.8k | 29天 |
APP | 播放器 | Timber | 音乐播放器 | 4.5k | 3月 |
APP | 播放器 | ListenerMusicPlayer | 开源音乐播放器 | 1.9k | 1年 |
APP | 新闻 | AndroidFire | 新闻阅读 App 框架 | 1.9k | 11月 |
APP | 新闻 | GeekNews | 涵盖*常用主流框架的阅读应用 | 2.8k | 11月 |
APP | MVP | MvpApp | MVP 架构学习 App | 1.7k | 11月 |
APP | 教育 | santa-tracker-android | 谷歌开源的儿童教育和娱乐 App | 1.2k | 3月 |
APP | 壁纸 | muzei | 定时更换桌面精美壁纸 App | 3.5k | 6天 |
面试 | 指南 | interviews | 软件工程技术面试个人指南 | 22k | 15天 |
面试 | 题库 | AndroidInterview-Q-A | 国内一线互联网公司内部面试题库 | 7.2k | 1月 |
学习 | 汇总 | LearningNotes | 学习笔记 | 8.9k | 1月 |
学习 | 汇总 | Android_Data | Android 学习资料收集 | 7.1k | 7月 |
学习 | 翻译 | android-tech-frontier | 定期翻译国外安卓优质文章 | 9.3k | 1年 |
学习 | 源码分析 | android-open-project-analysis | Android 开源项目源码解析 | 6.2k | 1年 |
学习 | RxJava | Awesome-RxJava | RxJava 学习资源 | 4.3k | 1年 |
学习 | 正则 | learn-regex | 轻松学习正则 | 14k | 17天 |
学习 | 算法 | awesome-java-leetcode | 学习数据结构和算法、刷 LeetCode | 3.7k | 1月 |
学习 | ADB | awesome-adb | ADB 用法大全 | 3.7k | 1月 |
其他 | 大全 | Android | GitHub 上*火的 Android 开源项目 | 4.1k | 6月 |
其他 | 大全 | awesome-java | Java框架、库与软件合集 | 16k | 2月 |
其他 | 大全 | awesome-android | Android 实用资源合集 | 5.4k | 1天 |
其他 | 大全 | awesome-android-ui | Android 好用的 UI 合集 | 29k | 1月 |
其他 | 大全 | Awesome-MaterialDesign | Material Design 资源合集 | 5.4k | 2年 |
其他 | 大全 | AndroidLibs | Android 开源代码大全 | 3.9k | 1月 |
其他 | 大全 | awesome-android-tips | 收集常用的 Android 代码 | 2.2k | 1月 |
其他 | 大全 | android-open-project | Android 开源项目分类汇总 | 26k | 3月 |
其他 | 大全 | android-architecture | 谷歌关于架构的示例合集 | 26k | 1月 |
其他 | 交流 | android-discuss | Android 问题交流讨论坛 | 3.4k | 2年 |
补充 | 开发工具 | PocketHub | Android 版 Github | 9.2k | 13天 |
补充 | 开发工具 | ActivityTracker | 查看当前栈顶 Activity | 0.3k | 1年 |
补充 | 开发工具 | lantern | *利器 | 34k | 1月 |
注:
- 『star 数』为该项目在 GitHub 中所获得的 start 数;
- 『*近更新』为该项目在 GitHub 中距离*近一次更新的时间;
- 『star 数』和『*近更新』是基于:2018-05-03 GitHub 项目数据进行参考。
详细介绍
scwang90 / SmartRefreshLayout
下拉刷新、上拉加载、二级刷新、淘宝二楼、RefreshLayout、OverScroll,Android智能下拉刷新框架,支持越界回弹、越界拖动,具有*强的扩展性,集成了几十种炫酷的 Header 和 Footer。
SmartRefreshLayout 是一个“聪明”或者“智能”的下拉刷新布局,由于它的“智能”,它不只是支持所有的 View,还支持多层嵌套的视图结构。它继承自 ViewGroup 而不是 FrameLayout 或 LinearLayout,提高了性能。 也吸取了现在流行的各种刷新布局的优点,包括谷歌官方的 SwipeRefreshLayout,其他第三方的 Ultra-Pull-To-Refresh、TwinklingRefreshLayout 。还集成了各种炫酷的 Header 和 Footer。
项目地址:https://github.com/scwang90/SmartRefreshLayout
博客地址:https://segmentfault.com/a/1190000010066071
alibaba / vlayout
VirtualLayout 是一个针对 RecyclerView 的 LayoutManager 扩展, 主要提供一整套布局方案和布局间的组件复用的问题。
通过定制化的 LayoutManager,接管整个 RecyclerView 的布局逻辑;LayoutManager 管理了一系列 LayoutHelper,LayoutHelper 负责具体布局逻辑实现的地方;每一个 LayoutHelper 负责页面某一个范围内的组件布局;不同的 LayoutHelper 可以做不同的布局逻辑,因此可以在一个 RecyclerView 页面里提供异构的布局结构,这就能比系统自带的 LinearLayoutManager、aridLayoutManager 等提供更加丰富的能力。同时支持扩展 LayoutHelper 来提供更多的布局能力。
项目地址:https://github.com/alibaba/vlayout
markzhai / AndroidPerformanceMonitor
AndroidPerformanceMonitor(被称作 BlockCanary)是一个Android平台的一个非侵入式的性能监控组件,应用只需要实现一个抽象类,提供一些该组件需要的上下文环境,就可以在平时使用应用的时候检测主线程上的各种卡慢问题,并通过组件提供的各种信息分析出原因并进行修复。
取名为 BlockCanary 则是为了向 LeakCanary 致敬,顺便本库的 UI 部分是从 LeakCanary 改来的,之后可能会做一些调整。
项目地址:https://github.com/markzhai/AndroidPerformanceMonitor
中文文档:https://github.com/markzhai/AndroidPerformanceMonitor/blob/master/README_CN.md
seiginonakama / BlockCanaryEx
记录主线程中执行的所有方法和它们的执行时间,当 app 卡顿时,将所有耗时方法直接展示给开发者,节省开发者定位卡顿问题的时间。 此项目基于 BlockCanary。
BlockCanaryEx 和 BlockCanary 的区别如下:
- BlockCanaryEx 的运行时代码修改自 BlockCanary,UI 和大部分功能基本一致;
- BlockCanaryEx 添加了方法采样,知道主线程中所有方法的执行时间和执行次数;
- 当应用卡顿时,BlockCanaryEx 更关注 app 代码中,哪些方法耗时*多,重点记录和显示这些耗时方法;
- 添加了 gc 采样,当应用卡顿时,我们可以知道卡顿时是否发生了 gc,以及 gc 的时间;
- 监控 view 性能,计算卡顿时,view的 measure、layout 和 draw 消耗的时间。
项目地址:https://github.com/seiginonakama/BlockCanaryEx
中文文档:https://github.com/seiginonakama/BlockCanaryEx/blob/master/README_ZH.md
frogermcs / AndroidDevMetrics
AndroidDevMetrics(原先叫 dagger2metrics)是一个性能检测库,用来检测 Activity 生命周期方法执行性能(onCreate(), onStart(), onResume())、帧速率性能和 Dagger 2 注入性能。它会告诉你在 app 中需要花多少时间来显示特定的界面,还有(如果你使用了Dagger 2)在依赖图表中提供每个对象消耗了多少时间。它不会告诉你性能问题或瓶颈的确切原因(目前!),但它可以指出你首先应该去查找的地方。
项目地址:https://github.com/frogermcs/AndroidDevMetrics
rmtheis / tess-two
文字识别一般都用的 Tesseract OCR ,它是由 Google 负责维护,是*好的开源 OCR Engine 之一,并且支持中文。不过因为 Tesseract 使用 C++ 实现的,在 Android 中不能直接使用,需要封装JavaAPI才能在Android平台中进行调用。
tess-two 是 TesseraToolsForAndroid(tesseract-adroid-tools)的一个分支,它添加了一些额外功能。TesseraToolsForAndroid 包含了 Tesseract OCR 和 Leptonica 图片处理库的一整套 API 和 build 文件。
项目地址:https://github.com/rmtheis/tess-two
huangyanbin / smartTable
Android 自动生成表格框架,支持二维数组展示,导入 Excel 表格,合并单元格等。还有很多功能点,包括动态添加首尾数据,分页,格式化字体,背景等。