Android最优质开源库大全

转载请注明链接:http://blog.csdn.net/feather_wch/article/details/51089115

主要记录Android目前为止最优质的开源库(不包括那些曾经火热但被废弃的开源库-如SlidingMenu等)。
第一部分是知名开源库以及大公司的开源库。
第二部分是介绍剩余部分的开源库。

Android最优质开源库大全

版本:2018/3/27-1

矢志不渝的坚持权威道路

知名框架:
1. xutils
2. eventbus
3. Realm

公司开源库

Google

序号开源库名称简介教程
1glide-Bump Technologies出品Android的图片加载缓存库
2zxing二维码
3Dagger2Dagger2是Dagger的升级版,是一个依赖注入框架,现在由Google接手维护。Dagger2从入门到放弃再到恍然大悟
4gsonJava对象和JSON互相转换
5Flutter用于快速构建移动APP,使用Dart语言。
6VolleyAndroid的HTTP库
7ExoPlayer开源播放器
8Guava谷歌JAVA核心库
9Guetzli高质量的JPEG编码器(C++)
10error-prone在编译阶段捕获Java错误
11battery-historian安卓电量分析工具
12material-design-icons该系统图标包含常用的700个图标,如用于媒体播放、通讯、内容编辑、连接等等。在 Web 应用,安卓和 iOS 设计均适用。
13android-architectureAndroid 架构的官方指导,涉及 mvp、mvp-loaders、databinding、mvp-clean、mvp-dagger、mvp-contentproviders、mvp-rxjava 等,分别在各自指定的分支下,有非常大的参考意义。

Square

序号开源库名称简介教程
1okio不像Java的输入输出流那样复杂啰嗦,尤其擅长支持二进制数据。
2okhttpHttp请求库
3retrofitSquare 是最早开源项目之一, Retrofit是目前 Android 最流行的 Http Client 库之一
4Picasson图片缓存库- picasso 功能单一,没有缓存过期,同androidQuery一样链式调用,载入本地文件速度慢。(作者:JakeWharton)
5leakcanary检查内存泄露
6RxAndroid由 JakeWharton 大神主导开发的项目, RxAndroid 是 RxJava 的一个针对 Android 平台的扩展, 主要用于 Android 开发
7Otto一个事件库 (pub/sub 模式), 用来简化应用程序组件之间的通讯, otto 修改自Google 的 Guava 库, 专门为 Android 平台进行了优化, 与上面介绍的 EventBus 相比, 两个库各有各的优点,完全取决于我们自己项目的需求来选择它们哪一个
8android-times-squareTimesSquare 是 Square 公司出品的一款显示日历选择日期的控件, 可以让用户选择多个日期

Facebook

序号开源库名称简介教程
1FrescoFresco 是一个强大的图片加载组件, 支持加载 Gif 图和 WebP 格式, 支持 Android2.3(API level 9) 及其以上系统Fresco官方中文教程
2React Native
3Stetho一个强大的 Android 调试工具,使用该工具你可以在 ChromeDeveloper Tools 查看 App 的布局, 网络请求(仅限使用 Volley, okhttp 的网络请求库), sqlite,preference, 一切都是可视化的操作,无须自己在去使用 adb, 也不需要 root 你的设备
4ReboundFacebook弹性动画库, 可以让动画看起来真实自然, 像真实世界的物理运动, 带有力的效果, 使用的参数则是 Facebook 的 origami 中使用的
5BuckBuck是Facebook开发的一款开源Android Build工具,基于Apache License 2.0协议发布,可以通过独立构建并行来发挥多核的性能,加速开发者的Android应用构建流程。Buck基于单一的库构建,能够以最小的资源集重建,非常适用于Android项目组织与管理。
6ConcealConceal是一套用于Android平台上进行文件加密和鉴权的Java API,专为速度设计,小巧而高速。它使用了OpenSSL算法的子集和一些预先定义的选项,能够让库保持在较小的体积。通过它,开发者可以实现对手机、平板电脑SD卡中的数据以及大型文件进行加密和存储。
7BoltsBolts是一个面向iOS和Android的底层库集合,分别为Bolts-iOS和Bolts-Android,由Facebook和Parse共同设计完成,于2014年1月基于BSD许可协议开源,其所有源码均托管到GitHub上。Bolts能够让移动应用开发变得更加简单,其组件与Parse及Facebook服务完全无关,因此,开发者无需拥有Parse或Facebook开发者账户即可直接使用。
8InferInfer是一个静态分析工具,用来检测安卓和苹果系统应用发布前的缺陷。如果你给Infer一些Objective-C,Java或C代码,它会生成一个潜在的缺陷列表。Infer工具也有助于防止系统崩溃和性能下降。Infer的目标是空指针异常、资源漏洞、内存溢出之类的致命缺陷。
9shimmer-android可以用一个简单灵活的方法在你的安卓 APP 上做出闪光效果。
10KeyFramesKeyFrames 由 Facebook 开源的图形库,其中包含一个脚本,它可以从 AE 文件中提取动画数据,然后为 Android 和 iOS 提供渲染库。

Yalantis

序号开源库名称简介教程
1uCropuCrop 是 Yalantis 推出的又一款力作, 用于裁剪 Android 系统上的图片, 致力于打造最佳的图片裁剪体验。
2ContextMenu动画体验很棒的 Context MenuAndroid 版:https://github.com/Yalantis/Context-Menu.Android
3Side Menu动画体验很棒的 Side MenuAndroid 版:https://github.com/Yalantis/Side-Menu.Android
4Phoenix下拉刷新,带 Header 渐渐凸显效果Android 版:https://github.com/Yalantis/Phoenix
5Taurus另一种下拉刷新效果Android 版:https://github.com/Yalantis/Taurus
6FlipViewPager.Draco提供 ListView Item 翻页效果Android 版:https://github.com/Yalantis/FlipViewPager.Draco
7FoldingTabBar可展开收缩的 TabBariOS 版:https://github.com/Yalantis/FoldingTabBar.iOS
8CameraModule简单的 Android 拍照模块GitHub:https://github.com/Yalantis/CameraModule
9Euclid这个项目目前还只是不错的动画跳转效果 DemoAndroid 版:https://github.com/Yalantis/Euclid

Twiter

1、Android-Bootstrap

http://blog.csdn.net/dsc114/article/details/50432798

Uber

序号开源库名称简介教程
1NullAwayUber空指针库

Airbnb

序号开源库名称简介教程
1Lottie动画开源库

阿里巴巴

序号开源库名称简介教程
1阿里巴巴Java、Android手册
2Sophix阿里巴巴热修复框架
3Atlas阿里巴巴组件化框架

腾讯

序号开源库名称简介教程
1Tinker微信开源的 Android 热修复框架,支持在无需升级APK的前提下更新 dex, library and resources 文件。

开源大神

JakeWharton

序号开源库名称简介教程
1Butterknife不多解释
2HugoJakeWharton 大神推出的一个用于打印 Log, hugo 是基于注解被调用的, 引入相关依赖后, 在方法上加上 @DebugLog 即可输出 Log, 使用非常简单

最优质的开源库

知名

xBus - xBus - 简洁的EventBus实现。
Small - 做最轻巧的跨平台插件化框架,目前已支持Android、iOS以及html5插件。并且三者之间可以通过同一套javascript接口进行通信。

开发工具库

  1. AndroidUtilsCode
  2. Codota-搜索最好的 Android 代码

UI

开源库名称简介教程
Glide Transformations基于Glide的开源库,能够进行强大的图片变化:裁剪,缩放,模糊化等
FlexboxLayoutAndroid 排版库FlexboxLayout 是 Android 上实现了类似 CSS Flexible Box Layout Module 效果的界面排版。
InfiniteCycleViewPagerInfiniteCycleViewPager 具有双向定位和交互效果,可以水平和垂直滚动。
Android 库 EpoxyEpoxy 是一个基于 RecyclerView 实现复杂屏幕效果的 Android 库。Epoxy 通过将 ViewHolder、项目类型、项目Id、列数等等抽象成模板,以简化与多视图类型构建屏幕效果。此外,Epoxy 还增加了对于保存视图状态以及自动区分项目变化的支持。
ViewPagerCardsViewPagerCards,这是一个简单的实现卡片式 ViewPager 效果的 DEMO。该项目支持“碎片”和标准视图,可查看 CardPagerAdapter 和 CardFragmentPagerAdapter 类。
StylishMusicPlayer采用了RxJava开发的本地音乐播放器,UI 图标都是 https://material.io 上找的。

1. awesome-android-ui: 里面网罗了所有你见过的、没见过的各种 UI 效果,涉及 Material、Layout、Button、List、ViewPager、Dialog、Menu、Parallax、Progress 等等,而且有相对应的截图、gif 展示,以后应对设计师各种效果的时候有很大的参考帮助作用。

  1. SlidingMenu: Google的侧滑菜单NavigationDrawer出来之后就被放弃了。
  2. MPAndroidChart:图表库
  3. ViewPagerIndicator:一个ViewPager指示器, 使用起来简单方便, 可高度定制, 开发出各种各样动画效果。作者:JakeWharton 大神
  4. PhotoView: https://github.com/chrisbanes/PhotoView
  5. SmartRefresh: https://segmentfault.com/a/1190000010066071
  6. Material Dialogs: 是一个可高度定制易用, 符合 Material Design 风格的 Dialogs, 兼容 Android API8 以上版本, 个人使用感觉它完全可替代 Android 原生那个, 比原生那个更加简单易用
  7. MaterialDesignLibrary: 这个库控件都是遵循了 Google Material Design 设计规范开发出来, 例如有: Flat Button,Rectangle Button, CheckBox, Switch, Progress bar circular indeterminate等等

  8. Android-Ultra-Pull-to-Refresh:拉动刷新
    Android-ObservableScrollView

  9. ObservableScrollView: 是一款用于在滚动视图中观测滚动事件的 Android 库, 它能够轻而易举地与 Android 5.0 Lollipop 引进的工具栏 (Toolbar) 进行交互, 还可以帮助开发者实现拥有 Material Design 应用视觉体验的界面外观, 支持 ListView, ScrollView, WebView,RecyclerView, GridView 组件

多媒体

  1. Vitamio 是一款 Android 与 iOS 平台上的全能多媒体开发框架
  2. ijkplayer - B站开源的视频播放器,支持Android和iOS。

数据库

  1. greenDAO:是一个可以帮助 Android 开发者快速将 Java 对象映射到 SQLite 数据库的表单中的 ORM解决方案, 通过使用一个简单的面向对象 API, 开发者可以对 Java 对象进行存储, 更新, 删除和查询, greenDAO 相对OrmLite, AndrORM 这两个 ORM 开源库, 性能是最高的

热更新

  1. code-push -大微软推出的一套可以为用 React Native 和 Cordova 开发的 App 提供代码热更新的方案。

其他

  1. AndroidAnnotations:一个能让你进行快速开发的开源框架
  2. Fastjson : 是一个 Java 语言编写的高性能功能完善的 JSON 库。它采用一种“假定有序快速匹配”的算法,把 JSONParse 的性能提升到极致,是目前 Java 语言中最快的 JSON 库。Fastjson接口简单易用,已经被广泛使用在缓存序列化、协议交互、Web 输出、Android 客户端等多种应用场景
  3. android-common: android-common-lib 是 Trinea 大神收集的一些开发通用的缓存, 公共 View 以及一些常用工具类
  4. dynamic-load-apk:开发者是 singwhatiwanna (任玉刚), 是《Android 开发艺术探索》书籍的作者, 这个是作者联合另两位开发者啸(时之沙)和宋思宇花了几个月时间研究出来的 Apk 动态加载框架, 想了解更多关于这框架可到作者博客看这篇文章有详细介绍
  5. logger: Logger 是一个简单, 漂亮, 强大 Android 打印日志库

网络

  1. OkhttpUtils
  2. android-volley: 这个框架把AsyncHttpClient 和 Universal-Image-Loader 的优点集于了一身,既可以像 AsyncHttpClient一样非常简单地进行 HTTP 通信,也可以像 Universal-Image-Loader 一样轻松加载网络上的图片, 这个库并不是官方的,只是托管同步在 Maven, 官方只提供的 Jar 包

算法

开源库名称简介教程
awesome-java-leetcode现在面试大公司,不可避免的需要面试算法题,算法的能力其实是可以锻炼的,很好的一个途径就是Leetcode,为了高效的练习,可以关注下该库,包含解题思路,代码等。https://github.com/Blankj/awesome-java-leetcode

参考资料

  1. 2018年开发者不可错过的开源工具 —— Android 篇
  2. github中排名前100的Android库
  3. Android开源库和资料汇总
  4. Google最热门60款开源项目
  5. Facebook移动开源项目大合集
  6. github: 最常见开源库汇总
  7. 阿里巴巴、百度等公司开源
  8. Yalantis 酷炫开源UI项目
  9. 推荐3个开源项目
  10. 国内可用的第三方库-百度翻译等等
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猎羽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值