FacebookAndroidSDK
- facebook的sdk用于实现或者调用Facebook的相应功能。例如:登录等。
Butterknife
- ButterKnife是一个专注于Android系统的View注入框架,以前总是要写很多findViewById来找到View对象,有了ButterKnife可以很轻松的省去这些步骤。是大神JakeWharton的力作,目前使用很广。最重要的一点,使用ButterKnife对性能基本没有损失,因为ButterKnife用到的注解并不是在运行时反射的,而是在编译的时候生成新的class。项目集成起来也是特别方便,使用起来也是特别简单。
- JakeWharton出品
HockeySDK
- HockeyApp 是一款领先的移动崩溃分析和应用发布服务,可为开发者提供实时崩溃分析报告、用户反馈、测试版分发平台以及测试分析等功能,于 2016 年被微软收购,随后集成在了 Visual Studio 应用中心中,与 Xamarin Insights 一起提供移动应用 Crash 报告和统计服务。
ADAL
- Microsoft 出品
- 通过 Azure Active Directory 身份验证库 (ADAL) v1.0,应用程序开发人员可以利用云或本地 Active Directory (AD) 对用户进行身份验证,并获取令牌来保护 API 调用。 ADAL 通过以下功能使开发者更轻松地进行身份验证:
1.存储访问令牌和刷新令牌的可配置令牌缓存
2.当访问令牌过期且刷新令牌可用时,自动刷新令牌
3.支持异步方法调用
EvernoteAndroidJob
EvernoteAndroidJob-github
EvernoteAndroidJob
- 对于现在的应用来说,在应用生命周期之外运行一些后台任务可以说已经是一项必不可少的需求了。这些任务可能是在某个时间点提醒用户什么事情或同步本地数据到服务器等等。
- Evernote 开源的 Android-Job 为我们带来兼容这三种API的方案,高效,简单,灵活。Android-Job 在运行判断使用哪种API,它提供 AlarmManager, JobScheduler和 GcmNetworkManager功能的超集,比如说,我们可以定义计划任务在网络连通且在充电时候执行。
Googlei18Lib/phonenumber
Googlei18Lib/phonenumber-github
- Google常用的Java,C ++和JavaScript库,用于解析,格式化和验证国际电话号码。
Guava:Google Core Libraries for Java
- Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] 、字符串处理 [string processing] 、I/O 等等。 所有这些工具每天都在被Google的工程师应用在产品服务中。
- 有好多教程可以用来学习这个库。
Gson
gson-github
gson全解析-简书
gson-开源中国标签
- GSON是Google提供的用来在Java对象和JSON数据之间进行映射的Java类库。可以将一个Json字符转成一个Java对象,或者将一个Java转化为Json字符串。
- 相应的库还有Jackson和FastJson
MetricsAspectJLibrary
- Metrics是一个给JAVA服务的各项指标提供度量工具的包,在JAVA代码中嵌入Metrics代码,可以方便的对业务代码的各个指标进行监控。
- AspectJ是一个面向切面的框架,它扩展了Java语言。AspectJ定义了AOP语法,所以它有一个专门的编译器。
Thresstenbp
thresstenbp-github
thresstenbp
- 为Java SE6、7提供Java SE 8日期时间类的接口。
Jsoup
- jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。
Picasso
- Picasso 是Square 公司开源的Android 端的图片加载和缓存框架。
- Android 中有几个比较有名的图片加载框架,Universal ImageLoader、Picasso、Glide和Fresco。
Relinker
- Relink是一个加载Android so文件(shared library)的一个库。
载入so库的传统做法是使用,System.loadLibrary(library);但是有时会出现UnsatisfiedLinkError,Relink库能大幅减小报错的概率。 - 出现UnsatisfiedLinkError的原因?
发布出去的产品,出现这个错误多数都是找不到so文件。
常见的找不到so文件的原因
1.产品打包时出问题,没有包括相关的so文件。-------这只能在流程上加以规范。
2.app为了缩小体积,针对cpu平台打包对应的so文件。比如针对arm设备的发布包只打包arm类别的so文件,当mips的设备使用这种发布包时,就有这样的异常。-----目前有些用户并不懂得选择cpu类型,只能是应用商店来处理吧。当然我自己也有个想法,就是app安装之后,知道了设备具体类型,即时从网络下载对应的so文件。
3.Android PackageManager的一个缺陷,升级产品时,so文件没成功拷贝。------这个就是 Relinker 想要解决的问题。 - ReLinker.loadLibrary(context, "mylibrary")替代System.loadLibrary("mylibrary");
- 实现思路
加载so文件时却找不到相关的so文件,Relinker会尝试从apk中拷贝so库到/data/data/myPackage/libs 目录,修改其读写权限。
Dagger
- Square 公司开源的 一种针对Android和Java的快速依赖注入器
Thrifty
- Thrift是一个跨语言的服务部署框架,最初由Facebook于2007年开发,2008年进入Apache开源项目。Thrift通过IDL(Interface Definition Language,接口定义语言)来定义RPC(Remote Procedure Call,远程过程调用)的接口和数据类型,然后通过thrift编译器生成不同语言的代码(目前支持C++,Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk和OCaml),并由生成的代码负责RPC协议层和传输层的实现。
AdjustAndroidSDK
- 一家移动监测公司:我们将您的所有营销活动统一到一个强大的平台,为您提供必要的分析,助您进一步发展业务。一家德国公司。
auto-parcel
- 处理对象序列化
- 作者还有一个用来处理activity、view状态的库,这个库通常会跟ButterKnife进行比较。icepick-github
Seismic
- 广告营销平台
Tagsoup
- Html解析
- Html解析还有jsoup框架jsoup-github
Otto
- Otto是一个事件总线,旨在使您的应用程序的不同部分脱钩,同时仍然允许他们有效沟通。奥托为已经精炼的事件总线增添了独特的功能,并将其专门用于Android平台。其实Otto-bus就是观察者模式,它是通过注解的方式来实现过不同模块之间数据的传递,以减少类与类之间的耦合。
Retrofit
- Retrofit其实我们可以理解为OkHttp的加强版,它也是一个网络加载框架。
CircleImageView
- 圆形图片效果,典型案例就是用户头像显示。
Okhttp
- 网络请求框架,square出品
ApacheCommonsCodec
- Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动。