常用工具汇总

加密工具:

commons-codec

是Apache开源组织提供的用于摘要运算、编码解码的包。常见的编码解码工具Base64、MD5、Hex、SHA1、DES等。

组件通信:

otto

Event Bus

动画辅助:

NineOldAndroid

地理辅助:

Geohash

是一种地址编码方法。他能够把二维的空间经纬度数据编码成一个字符串。

序列化工具:

protostuffProtobuf 是 Google 的一种数据交换格式,它独立于语言、独立于平台。

Google 提供了多种语言来实现,比如 Java、C、Go、Python,每一种实现都包含了相应语言的编译器和库文件。
Protobuf 使用比较广泛,主要是空间开销小和性能比较好,非常适合用于公司内部对性能要求高的 RPC 调用。
由于解析性能比较高,序列化以后数据量相对较少,所以也可以应用在对象的持久化场景中
但是要使用 Protobuf 会相对来说麻烦些,因为他有自己的语法,有自己的编译器

序列化工具区别及是使用参考:
序列化
基于Protostuff的序列化与反序列化

图片工具:

webp

是一种同时提供了有损压缩与无损压缩的[图片文件格式]。上面直接拷贝百度解释。减小apk的大小。Android Webp 完全解析 快来缩小apk的大小;优化Android图片优化--使用webp

DiskLruCache

详细介绍及使用可参考:下面两篇文章:
DiskLruCache简介
Android使用磁盘缓存DiskLruCache

高权限工具:

Xposed框架或EdXposed

是一套开源的、在Android高权限模式下运行的框架服务,可以在不修改APK文件的情况下影响程序运行(修改系统)的框架服务,基于它可以制作出许多功能强大的模块,且在功能不冲突的情况下同时运作。

bug收集工具:

bugly:

breakpad

是 一个非常实用的跨平台的崩溃转储和分析模块,他支持Windows,Linux和Mac和Solaris。由于他本身跨平台,所以很大的减少我们在平台移 植时的工作,毕竟崩溃转储,每个平台下都不同,使用起来很难统一,而Google breakpad就帮我们做到了这一点,不管是哪个平台下的崩溃,都能够进行统一的分析。
参考文章:Breakpad 简介与使用;
breakpad的正确编译和常规用法
Windows下使用breakpad进行崩溃DUMP收集与分析

UMengbug收集:

数据库工具:

Sqlite:

Tokyo Cabinet

是一个DBM的实现。这里的数据库由一系列key-value对的记录构成。key和value都可以是任意长度的字节序列,既可以是二进制也可以是字符串。这里没有数据类型和数据表的概念。以上是百度解释:

注解工具:

AndroidAnnotations

是一个可以提高开发速度的开源框架。如同Spring一样,AA致力于减少样板代码。它提供依赖注入,封装各类常见操作,能让用户通过注解的方式简化代码。使用AA,用户可以忽略各类繁琐,重复的代码,将精力集中在业务逻辑上。

Retrofit

是一个 RESTful 的 HTTP 网络请求框架的封装,网络请求的工作本质上是 OkHttp 完成,而 Retrofit 仅负责 网络请求接口的封装。

网络工具:

Okhttp

AsyncHttpClient

Bolts-tasks

PageSlidingTabStrip

Zxing

Citrus Project

okio

是由square公司开发的用于IO读取。补充了Java.io和java.nio的不足,以便能够更加方便,快速的访问、存储和处理数据。内部的读写操作是在内存中进行的。

duktape

是一个轻量级的嵌入式 JavaScript 引擎,专注于可移植性和低占用率。

unqlite

是一个内嵌式的数据库,它实现了一个独立的、无服务器、零配置、事务性的nosql数据库引擎。它是一个文档存储数据库,类似于MongoDB, Redis, CouchDB等,同时也是一个标准的key/value存储类似于BerkeleyDB, LevelDB, 等。

AspectJ

AspectJ是一个流行的Java AOP(aspect-oriented programming)编程扩展框架;

mbedtls

也许是最小巧的ssl代码库。高效、便于移植和集成。支持常见的安全算法,如:AES、DES、RSA、ECC、SHA256、MD5、BASE64等等。除此之外还支持公钥证书体系。它提供了具有直观的 API 和可读源代码的 SSL 库。该工具即开即用,可以在大部分系统上直接构建它,也可以手动选择和配置各项功能。

android-Charts

图表工具类

dagger

tagsoup

TagSoup是Java语言开发的,通过SAX引擎解析结构糟糕、令人抓狂的不规范HTML文档的小工具。TagSoup可以将一个HTML文档转换为结构良好的XML文档(近似于XHTML),方便开发人员对获取的HTML文档进行解析等操作。同时TagSoup提供了命令行程序,可以运行TagSoup来对HTML文档进行解析。

wire

是一款聊天软件, 非常简单—几乎纯手势操作,右划光标进入交流界面,除了文字交流外,还支持图片、VoIP—是的,是实时的。Wire提供了iOS、Android和OS X客户端,允许用户同步聊天记录、呼叫他人、支持点对点或群发消息、以及分享SoundCloud音乐等。

theMVP

androidquery

Android-Query 简称AQuery,它是一款针对Android的轻量级库,AQuery可以实现异步任务和对UI元素的操控,从而使代码简单、简洁和易懂。
官方主页
GitHub最新下载地址

achartengine

AChartEngine是为Android应用而设计的绘图工具库。

FFmpeg

android-stackblur

StackBlur封装的好用的高斯模糊组件

leakcanray

leakcanary是一个监测android和java内存泄漏的工具。他能够在不影响程序正常运行的情况下,动态收集程序存在的内存泄漏问题。小的内存泄露可能不会有直接导致程序崩溃,但是量变终会引发质变,从而造成内存溢出,程序崩溃。leakcanary因为功能强大,而且部署简单。

Zlib

解压文件

stun

STUN(Simple Traversal of UDP over NATs,NAT 的UDP简单穿越)是一种网络协议,它允许位于NAT(或多重NAT)后的客户端找出自己的公网地址,查出自己位于哪种类型的NAT之后以及NAT为某一个本地端口所绑定的Internet端端口。这些信息被用来在两个同时处于NAT 路由器之后的主机之间建立UDP通信。

lz4

是目前综合来看效率最高的压缩算法,更加侧重压缩解压速度,压缩比并不是第一。在当前的安卓和苹果操作系统中,内存压缩技术就使用的是lz4算法,及时压缩手机内存以带来更多的内存空间。本质上是时间换空间。

视频工具

ijkplayer

ijkplayer是一个基于FFmpeg的轻量级Android/iOS视频播放器开源项目。

Danmaku Falme master (烈焰弹幕使)

libyuv

Google开源的实现各种YUV与RGB之间相互转换、旋转、缩放的库。它是跨平台的,可在Windows、Linux、Mac、Android等操作系统,x86、x64、arm架构上进行编译运行,支持SSE、AVX、NEON等SIMD指令加速

你可能感兴趣的:(常用工具汇总)