工欲善其事,必先利其器!开源框架奉上,支持开源,不造轮子,巨人带飞!持续更新,让开发更顺利。

1. 图片加载,缓存,处理

框架名称 功能描述
Android Universal Image Loader 一个强大的加载,缓存,展示图片的库,已过时
Picasso 一个强大的图片下载与缓存的库
Fresco 一个用于管理图像和他们使用的内存的库
Glide 一个图片加载和缓存的库,使用的App有:网易新闻
GlidePalette Android Lollipop Palette is now easy to use with Glide
PicassoPalette Android Lollipop Palette is now easy to use with Picasso
Picasso-transformations 一个为Picasso提供多种图片变换的库
Glide-transformations 一个为Glide提供多种图片变换的库

2. 图片裁剪

框架名称 功能描述
uCrop Image Cropping Library for Android,使用的App有:薄荷,哔哩哔哩
android-crop 图片裁剪,使用的App有:网易新闻,芒果TV
cropper 图片裁剪开源框架
Android-Image-Cropper Image Cropping Library for Android, optimized for Camera / Gallery
PhotoCropper Android 大图片裁剪终极解决方案
android-cropimage CropImage Activity from Gallery.apk packaged as a reusable Android library
PhotoCrop A Library which can be used to crop images in Android similar to Facebook and Telegram,使用的App有:快手

3. 图片选择

框架名称 功能描述
MultiImageSelector 图片选择,使用的App有:薄荷
BGAPhotoPicker-Android Android 图片选择、预览、九宫格图片控件、拖拽排序九宫格图片控件
TakePhoto 轻量级Android照片处理框架
RxGalleryFinal Android图片单选/多选、拍照、裁剪、压缩。视频选择和录制。
boxing 一个多媒体选择器库,B站出品。可以选择一张或者多张图片,提供预览和裁剪功能。同样支持gif图,选择视频和图像压缩功能。

4. 图片转换,压缩,滤镜

框架名称 功能描述
Android-gpuimage 一个开源的基于GPU的图像处理库,提供各种各样的图像处理滤镜,并且支持照相机和摄像机的实时滤镜,使用的App有:快手
photoview 使用的App有:薄荷,网易新闻
circleimageview 圆形图片,使用的App有:薄荷
RoundedImageView 圆形图片,使用的App有:薄荷
SelectableRoundedImageView Android ImageView that supports different radii on each corner
android-gif-drawable gif图片,使用的App有:网易新闻,快手
Luban 可能是最接近微信朋友圈的图片压缩算法
Compressor Compressor is a lightweight and powerful android image compression library

5. 高斯模糊,毛玻璃,图片模糊

框架名称 功能描述
android-stackblur Android StackBlur is a library that can perform a blurry effect on a Bitmap based on a gradient or radius, and return the result. The library is based on the code of Mario Klingemann.
Blurry Blurry is an easy blur library for Android
blurkit-android The missing Android blurring library. Fast blur-behind layout that parallels iOS.
BlurView Dynamic iOS-like blur of underlying Views for Android
ImageBlurring Android blurring image(bitmap) by java and jni

6. 缓存

框架名称 功能描述
LruCache Android原生API,内存缓存
DiskLruCache Java实现基于LRU的磁盘缓存
ASimpleCache 一个为android制定的轻量级的开源缓存框架
base-diskcache Android 缓存库,融合了DiskLruCache和ASimpleCache

7. 网络请求

框架名称 功能描述
httpclient apache开源的网络请求框架,已过时
AsyncHttpClient 基于httpclient封装,已过时
OkHttp Square出品,一个Http与Http/2的客户端
Retrofit Square出品,类型安全的Http客户端
Volley Google推出的Android异步网络请求框架和图片加载框架,使用的App有:网易新闻

从Android 6.0 开始,Google删除了apache的开源网络请求框架httpclient,所以基于httpclient的AsyncHttpClient也不推荐使用了。
Volley适合那些请求频繁但数据量不大的场景,不适用于大数据的请求,比如下载文件。
Android 6.0 后,Android开始使用OkHttp,而Retrofit是一个网络代理框架,可以更简单的使用OkHttp。

8. 网络解析

框架名称 功能描述
Gson 一个Java序列化/反序列化库,可以将JSON和java对象互相转换
Jackson Jackson可以轻松地将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象
Fastjson Java上一个快速的JSON解析器/生成器
HtmlPaser 一种用来解析单个独立html或嵌套html的方式
Jsoup 一个以最好的DOM,CSS和jQuery解析html的库

9. 数据库

框架名称 功能描述
OrmLite JDBC和Android的轻量级ORM java包
Sugar 用超级简单的方法处理Android数据库
GreenDAO 一种轻快地将对象映射到SQLite数据库的ORM解决方案,使用的App有:薄荷,京东
ActiveAndroid 以活动记录方式为Android SQLite提供持久化
SQLBrite SQLiteOpenHelper 和ContentResolver的轻量级包装
android-database-sqlcipher 数据库加密
storio Beautiful API for SQLiteDatabase and ContentResolver
realm-java 移动数据库,高性能数据库:一个SQLite和ORM的替换品
ObjectBox 相信不少人都用过GreenDao和EventBus,这两库都是greenrobot公司出品。ObjectBox也是该公司出品。GreenDao号称是最快的与SQLite的对象关系映射(ORM)。但是自从2011年以来,公司声称发现了许多的缺陷,有很多问题影响了性能。所以开发出另外一套性能最好且易用的NoSQL数据库,优于其他数据库5-15倍的性能。

10. 依赖注入

框架名称 功能描述
ButterKnife 将Android视图和回调方法绑定到字段和方法上
Dagger2 一个Android和java快速依赖注射器
AndroidAnotations 快速安卓开发。易于维护
RoboGuice Android平台的Google Guice 已退役
guice Google开发的依赖注入框架

11. 图表Chart

框架名称 功能描述
WilliamChart 创建图表的Android库
HelloCharts 兼容到API8的Android图表库,使用的App有:薄荷
MPAndroidChart 一个强大的Android图表视图/图形库,使用的App有:春雨医生

12. 后台处理

框架名称 功能描述
Tape 一个轻快的,事务性的,基于文件的FIFO的库
Android Priority Job Queue 一个专门为Android轻松调度任务的工作队列

13. 事件总线

框架名称 功能描述
EventBus 安卓优化的事件总线,简化了活动、片段、线程、服务等的通信,使用的App有:薄荷
Otto 一个基于Guava的增强的事件总线
HermesEventBus 一个基于EventBus的、能在进程间发送和接收event的库,在IPC或者插件开发中非常有用

14. 响应式编程

框架名称 功能描述
RxJava JVM上的响应式扩展
RxJavaJoins 为RxJava提供Joins操作
RxAndroid Android上的响应式扩展,在RxJava基础上添加了Android线程调度
RxBinding 提供用RxJava绑定Android UI的API
Agera Android上的响应式编程
RxLifecycle Lifecycle handling APIs for Android apps using RxJava

15. Log框架

框架名称 功能描述
Logger 简单,漂亮,强大的Android日志工具
Hugo 在调试版本上注解的触发方法进行日志记录
Timber 一个小的,可扩展的日志工具

16. 测试框架

框架名称 功能描述
Mockito Java编写的Mocking单元测试框架
Robotium Android UI 测试
Robolectric Android单元测试框架

Android自带很多测试工具:JUnit,Monkeyrunner,UiAutomator,Espresso等。

17. 调试框架

框架名称 功能描述
Stetho 调试Android应用的桥梁,使得可以利用Chrome开发者工具进行调试

18. 性能优化

框架名称 功能描述
LeakCanary 内存泄漏检测工具
BlockCanary 轻松找出Android App界面卡顿元凶
ACRA Android应用程序崩溃报告
Google Guava Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] 、字符串处理 [string processing] 、I/O 等等。 所有这些工具每天都在被Google的工程师应用在产品服务中。
google protobuf 由google开发,并且在google内部使用。Protobuf的作用和xml、json是一回事,但他是二进制格式,性能好、效率高。

19. 热修复

框架名称 功能描述
tinker 腾讯开源的一个热修复框架
AndFix alibaba热修复框架
dexposed alibaba热修复框架

20. 二维码

框架名称 功能描述
Zxing 一个二维码开源框架
barcodescanner 使用的App有:薄荷
BGAQRCode-Android 扫描二维码、扫描条形码、相册获取图片后识别、生成带 Logo 二维码、支持微博微信 QQ 二维码扫描样式
zxing-android-embedded 使用的App有:春雨医生,芒果TV

21. 多媒体

框架名称 功能描述
ijkplayer Bilibili开源的视频播放器
DanmakuFlameMaster Android开源弹幕引擎·烈焰弹幕使,使用的App有:网易新闻
Vitamio 一款全能多媒体开发框架,全面支持硬件解码与 GPU 渲染
FFmpeg 一个基于C语言的多媒体开源框架
百度智能云播放器 百度智能云推出的 Android 平台视频播放器
ExoPlayer Google开源的视频播放器

22. 汉语转拼音

框架名称 功能描述
pinyin4j A copy of http://sourceforge.net/projects/pinyin4j, then deploy it to maven central repository.
TinyPinyin 适用于Java和Android的快速、低内存占用的汉字转拼音库。
PinyinSearchLibrary The library of PinyinSearch,a Java Library which provide data parsing methods, data matching method and so on for T9 search and Qwerty search.PinyinSearch = T9Search + QwertySearch
pinyin4android 唯品会使用,2011年出了1.0版本后没更新了

23. 下载

框架名称 功能描述
MultiThreadDownload 使用的App有:薄荷
FileDownloader Android 文件下载引擎,稳定、高效、灵活、简单易用
RxDownload 基于RxJava和Retrofit打造的下载工具, 支持多线程下载和断点续传, 智能判断是否支持断点续传等功能
file-downloader 安卓上轻量级Http/Https文件下载框架,我的目标是让安卓文件下载越简单越好,尽可能以最简洁明了的方式完成复杂需求。

24. 动画

框架名称 功能描述
facebook:rebound A Java library that models spring dynamics and adds real world physics to your app
ViewAnimator A fluent Android animation library
Material-Animations Android Transition animations explanation with examples
AndroidViewAnimations Cute view animation collection.
ListViewAnimations An Android library which allows developers to easily add animations to ListView items
recyclerview-animators An Android Animation library which easily add itemanimator to RecyclerView items.
RecyclerViewItemAnimators An Android library which provides simple Item animations to RecyclerView items
AnimationEasingFunctions Android Animation Easing Functions. Let’s make animation more real!
BaseAnimation BaseAnimation收集网络Android相关动画集合,自定义控件等,近200多种源码
FragmentAnimations 3D animations for support-v4 Fragment transition.
AnimatedEditText Androids EditText that animates the typed text. EditText is extended to create AnimatedEditText and a PinEntryEditText.
ViewPagerTransforms Library containing common animations needed for transforming ViewPager scrolling for Android v13+
lottie-android Render After Effects animations natively on Android and iOS

25. Android选择器类库

框架名称 功能描述
material-calendarview material design 风格的日历控件使用的App有:薄荷
MaterialDateTimePicker Pick a date or time on Android in style,使用的App有:薄荷
android-times-square Standalone Android widget for picking a single date from a calendar view.
AndroidPicker 安卓选择器类库,包括日期时间选择器、单项选择器、地址选择器、颜色选择器、文件目录选择器、数字选择器、星座选择器等。
Android-PickerView 仿iOS的PickerView控件,有时间选择和选项选择并支持一二三级联动效果
WheelPicker Simple and fantastic wheel view in realistic effect for android.
Android-FilePicker Photopicker and document picker for android
NumberPickerView another NumberPicker with more flexible attributes on Android platform
Android-PickerView-Library Simple PickerView for Android