Android开源库 按模块整理Android开发过程中优秀的开源库

综合

screenplay

A minimalist, View-based application framework for Android

Afinal

Afinal是一个android的ioc,orm框架,内置了四大模块功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。通过finalActivity,我们可以通过注解的方式进行绑定ui和事件。通过finalBitmap,我们可以方便的加载bitmap图片,而无需考虑oom等问题。通过finalDB模块,我们一行代码就可以对android的sqlite数据库进行增删改查。通过FinalHttp模块,我们可以以ajax形式请求http数据。

xUtils

xUtils 包含了很多实用的android工具。xUtils支持大文件上传,更全面的http请求协议支持(10种谓词),拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响…xUitls 最低兼容android 2.2 (api level 8)

androidmvp

MVP Android Example

RxJava

RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.

RxAndroid

RxJava bindings for Android

ThinkAndroid

ThinkAndroid是一个免费的开源的、简易的、遵循Apache2开源协议发布的Android开发框架,其开发宗旨是简单、快速的进行 Android应用程序的开发,包含Android mvc、简易sqlite orm、ioc模块、封装Android httpclitent的http模块, 具有快速构建文件缓存功能,无需考虑缓存文件的格式,都可以非常轻松的实现缓存,它还基于文件缓存模块实现了图片缓存功能, 在android中加载的图片的时候,对oom的问题,和对加载图片错位的问题都轻易解决。他还包括了一个手机开发中经常应用的实用工具类, 如日志管理,配置文件管理,android下载器模块,网络切换检测等等工具。

LoonAndroid

整个框架式不同于androidannotations,Roboguice等ioc框架,这是一个类似spring的实现方式。在整应用的生命周期中找到切入点,然后对activity的生命周期进行拦截,然后插入自己的功能。

KJFrameForAndroid

It’s an Android ORM and IOC framework and includes UILibrary, PluginLibrary, HttpLibrary, BitmapLibrary, DBLibrary. KJFrameForAndroid is designed to wrap complexity of the Android native SDK and keep things simple.

UltimateAndroid

UltimateAndroid is a rapid development framework for developing your apps

网络框架

OkHttp

An HTTP & SPDY client for Android and Java applications

Retrofit

A type-safe HTTP client for Android and Java

Android Volley

Official Android HTTP library that makes networking for easier and faster.

android-async-http

An Asynchronous HTTP Library for Android

ion

Android Asynchronous Networking and Image Loading

robospice

Repo of the Open Source Android library : RoboSpice. RoboSpice is a modular android library that makes writing asynchronous long running tasks easy. It is specialized in network requests, supports caching and offers REST requests out-of-the box using extension modules.

android-lite-http

Arrow(LiteHttp) is a simple, intelligent and flexible HTTP client for Android. With LiteHttp you can make HTTP request with only one line of code! It supports get, post, put, delete, head, trace, options and patch request types.

androidquery

Android网络请求框架

http-request

A simple convenience library for using a HttpURLConnection to make requests and access the response.

依赖注入

AndroidAnnotations

Fast Android Development. Easy maintainance.

butterknife

View “injection” library for Android.

Dagger

A fast dependency injector for Android and Java.

roboguice

Google Guice on Android, version 3.0

guice

Guice (pronounced ‘juice’) is a lightweight dependency injection framework for Java 6 and above, brought to you by Google.

数据库ORM

greenDAO

greenDAO is a light & fast ORM solution for Android that maps objects to SQLite databases.

ActiveAndroid

Active record style SQLite persistence for Android

ormlite-android

ORMLite Android functionality used in conjunction with ormlite-core

android-lite-orm

LiteOrm is a fast, small, powerful ORM framework for Android. LiteOrm makes you do CRUD operarions on SQLite database with a sigle line of code efficiently.

Realm

Realm is a mobile database: a replacement for SQLite & ORMs

DBFlow

A blazing fast, powerful, and very simple ORM android database library that writes database code for you.

ormlite-android

ORMLite Android functionality used in conjunction with ormlite-core

Sugar ORM

Insanely easy way to work with Android Database.

事件总线

EventBus

Android optimized event bus that simplifies communication between Activities, Fragments, Threads, Services, etc. Less code, better quality.

Otto

An enhanced Guava-based event bus with emphasis on Android support.

AndroidEventBus

A lightweight eventbus library for android, simplifies communication between Activities, Fragments, Threads, Services, etc.

图片加载

fresco

An Android library for managing images and the memory they use.

Android-Universal-Image-Loader

Powerful and flexible library for loading, caching and displaying images on Android.

picasso

A powerful image downloading and caching library for Android

glide

An image loading and caching library for Android focused on smooth scrolling

cube-sdk

A light package for Android development, it handles loading image and network request.

volley

使用volley加载网络图片,主要用到其中的ImageLoader类。

LazyList

Lazy load of images in Android

图片处理

PhotoView

Implementation of ImageView for Android that supports zooming, by various touch gestures.

subsampling-scale-image-view

Highly configurable, easily extendable view with pan and zoom gestures for displaying huge images without loss of detail. Perfect for photo galleries, maps, building plans etc.

PhotoCropper

The Ultimate Approach to crop photos on android devices, especially for large size photos. This way can help you avoid OOM(OutOfMemory) exception.

android-crop

Android library project for cropping images

cropper

Android widget for cropping and rotating an image.

TouchImageView

Adds touch functionality to Android ImageView.

ImageViewZoom

Android ImageView widget with zoom and pan capabilities

gesture-imageview

Implements pinch-zoom, rotate, pan as an ImageView for Android 2.1+

ImageBlurring

Android Blurring Image(Bitmap) By Java And JNI.

兼容库

NineOldAndroids

Android library for using the Honeycomb animation API on all versions of the platform back to 1.0!

HoloEverywhere

Bringing Holo Theme from Android 4.1 to 2.1 and above.

android-styled-dialogs

Backport of Material dialogs with easy-to-use API based on DialogFragment

android-switch-backport

A backport of the SwitchPreference component that was introduced on Android 4 (ICS / level 14). This port works on Android 2.1+ (Eclair MR1 / level 7).

MaterialDesignLibrary

This is a library with components of Android L to you use in android 2.2

material

A library to bring fully animated Material Design components to pre-Lolipop Android.

material-dialogs

A beautiful, easy-to-use, and customizable dialogs API, enabling you to use Material designed dialogs down to API 8.

数据解析

Jackson

Jackson is a suite of data-processing tools for Java (and JVM platform), including the flagship streaming JSON parser / generator library, matching data-binding library (POJOs to and from JSON) and additional data format modules to process data encoded in Avro, BSON, CBOR, CSV, Smile, Protobuf, XML or YAML; and even the large set of data format modules to support data types of widely used data types such as Joda, Guava and many, many more.

Gson

Gson is a Java library that can be used to convert Java Objects into their JSON representation. It can also be used to convert a JSON string to an equivalent Java object. Gson can work with arbitrary Java objects including pre-existing objects that you do not have source-code of.

fastjson

Fast JSON Processor

moshi

Moshi is a modern JSON library for Android and Java. It makes it easy to parse JSON into Java objects,And it can just as easily serialize Java objects as JSON;

LoganSquare

Screaming fast JSON parsing and serialization library for Android.

测试

robotium

Robotium is an Android test automation framework that has full support for native and hybrid applications.

selendroid

“Selenium for Android” (Test automate native or hybrid Android apps and the mobile web with Selendroid.)

android-testing

A collection of samples demonstrating different frameworks and techniques for automated testing

assertj-android

A set of AssertJ helpers geared toward testing Android.

android-testing-templates

android测试模板

Appium

Appium is an open source, cross-platform test automation tool for native, hybrid and mobile web apps, tested on simulators (iOS, FirefoxOS), emulators (Android), and real devices (iOS, Android, FirefoxOS).

Robolectric

Android Unit Testing Framework

UiAutomator

Android提供的自动化测试框架,基本上支持所有的Android事件操作,对比Instrumentation它不需要测试人员了解代码实现细节(可以用UiAutomatorviewer抓去App页面上的控件属性而不看源码)。基于Java,测试代码结构简单、编写容易、学习成本,一次编译,所有设备或模拟器都能运行测试,能跨App(比如:很多App有选择相册、打开相机拍照,这就是跨App测试)。

日志打印

hugo

Annotation-triggered method call logging for your debug builds.

logger

Simple, pretty and powerful logger for android

timber

A logger with a small, extensible API which provides utility on top of Android’s normal Log class.

DebugLog

Create a simple and more understandable Android logs.

galgo

When you want your logs to be displayed on screen

puree-android

A log collector for Android

LogUtils

More convenient and easy to use android Log manager

工具集

Guava

Google 的基于 java1.6 的类库集合的扩展项目,包括 collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O 等等.

AndroidCommon

Trinea大神开源的包含缓存(图片缓存、预取缓存、网络缓存)、公共View(下拉及底部加载更多ListView、底部加载更多ScrollView、滑动一页Gallery)、及Android常用工具类(网络、下载、shell、文件、json等等)。

LiteCommon

LiteCommon是一系列通用类、辅助类、工具类的集合,通用性强,纯洁简单,体积不到50K!其中包括shell命令,静默安装,bitmap处理,文件操作,加密存储器,计数器,均值器,吐司,日志,校验,提示,网络监测等基础功能,以及一些Base64、MD5、Hex、Byte、Number、Dialog、Filed、Class、Package、Telephone、Random等工具类。

AndResGuard

Android 资源混淆

缓存

DiskLruCache

磁盘缓存:Java implementation of a Disk-based LRU cache which specifically targets Android compatibility.

ASimpleCache

ASimpleCache 是一个为android制定的 轻量级的 开源缓存框架。可以缓存普通的字符串、JsonObject、JsonArray、Bitmap、Drawable、序列化的java对象,和 byte数据。

ObjectCache

A simple cache for Objects in Android.

android-easy-cache

This android library provide a cache with 2 layers, one in RAM in top of one disk.

AndroidVideoCache

Cache support for android VideoView

base-diskcache

Android 缓存库,融合了DiskLruCache和ASimpleCache.

多媒体

Telecine

Record full-resolution video on your Android devices.

jitsi

Jitsi is an audio/video and chat communicator that supports protocols such as SIP, XMPP/Jabber, AIM/ICQ, IRC, Yahoo! and many other useful features.

Amphitheatre

Amphitheatre is an Android TV app that connects with network shares, organizes and serves videos to any Android capable media player app.

MediaChooser

Library to browse & select videos and images from disk.

OPlayer

Android平台基于Vitamio的开源播放器

BambooPlayer

一个轻量级、多格式、支持解析多个视频网站的绿色播放器

VideoRecorder

android视频录制,模仿微视,支持按下录制、抬起暂停。进度条断点显示。

video-crop

Android Video Crop

AndroidVideoView

Android自定义全屏VideoView,仿主流视频客户端

LandscapeVideoCamera

Powerful custom Android Camera with granular control over the video quality and filesize, restricting recordings to landscape only.

VideoEnabledWebView

Android’s WebView and WebChromeClient class extensions that enable fully working HTML5 video support

ZmqVideoChat

Android Video Chat Application with ZeroMQ an Node.js

Android-ScalableVideoView

Android Texture VideoView having a variety of scale types like the scale types of ImageView such as fitCenter, centerCrop, centerTopCrop and more

AndroidRecording

Android Recording library offers convenient tools for audio/video recording and playback

fenster

A library to display videos in a TextureView using a custom MediaPlayer controller

FFmpegMediaPlayer

FFmpegMediaPlayer provides a unified interface for playing audio files and streams.

audiorecognizer

Roy van Rijn has written wonderful post about Shazam algorithm and how to implement it on our own. To do this he placed many chunks of his project source code, but he did not upload all source code of his application because as he stated: The Shazam patent holders lawyers are sending me emails to stop me from releasing the code and removing this…

Android插件化

DynamicAPK

携程插件化解决方案,实现Android多apk/dex方式的apk加载,支持资源分包,相关文章地址

DroidPlugin

360手机助手在Android系统上实现了一种新的插件机制:它可以在无需安装、修改的情况下运行APK文件,此机制对改进大型APP的架构,实现多团队协作开发具有一定的好处。

dynamic-load-apk

Apk动态加载框架,支持多进程模式,插件可以运行在单独的DL进程中(代码在lab分支),支持插件中的so库(代码在dev分支)

CJFrameForAndroid

Android插件开发框架

Android-Skin-Loader

一个通过动态加载本地皮肤包进行换肤的皮肤框架

AndroidDynamicLoader

Android Dynamic Loader is a plugin system. The host application is like a browser, but instead of load web pages, it load plugins which runs natively on Android system.

xCombine

Android Plugin Framework

apf

Android Plugin Framework

OpenAtlas

Android动态部署插件/框架:OpenAtlasCore,Android Component Dynamic Deployment(plugin) Framework

android-plugin

android 利用插件化进行程序扩展

地图定位

android-maps-utils

Handy extensions to the Google Maps Android API.

android-play-location

Samples that use Google Play services (GoogleApiClient) and Location APIs to help you make your applications location aware.

smart-location-lib

Android library project that lets you manage the location updates to be as painless as possible

智能识别

android-tesseract-ocr

Android Tesseract OCR

card.io SDK for Android

快速强大的信用卡识别库

ZXing

二维码识别

以下为第三方服务

人脸识别

提供多种人脸验证、比对api,可用于注册登陆、1:1身份认证、小规模1:N人脸识别等应用场景;

地理区域识别

提供地理区域识别、地理位置标签查询等位置数据服务。

文字识别

提供了整图文字检测、识别、整图文字识别、整图文字行定位和单字图像识别等功能。

语音识别

包括在线语音识别、在线语音合成等。

指纹识别

提供指纹检测、指纹认证、识别等功能, 并支持第三方应用创建指纹(fingerprint)、人(people)、人群(crowd)。方便第三方应用实现1:1和1:N应用场景。

推送/即时通信

Conversations

Conversations is an open source XMPP/Jabber client for Android 4.0+ smart phones.

asmack

A build environment for the XMPP client library Smack on Android

Smack

An Open Source XMPP Client Library written in Java for JVMs and Android

Openfire

A XMPP server licensed under the Open Source Apache License.

androidpn

An open source project to provide push notification support for Android – a xmpp based notification server and a client tool kit.

yaxim

YAXIM - Yet Another XMPP Instant Messenger, a jabber client for android

jitsi-android

Jitsi for Android is an Android port of the Jitsi project: The most feature-rich communicator with support for encrypted audio/video, chat and presence over SIP and XMPP

PushTalk

推聊是一个基于极光推送 (JPush) 的手机聊天系统。支持群聊与点对点聊天。当前包括 Android客户端、iOS客户端与 Java服务器端。3分钟就可以整套系统跑起来。

Android-tcp-long-connection-based-on-Apache-mina

基于Apache mina 的tcp长连接实现,可用于android客户端推送

DDPush

DDPush任意门推送,开源免费实时信息推送服务器,

TeamTalk

TeamTalk is a solution for enterprise IM

第三方服务

  • 环信即时通讯云
  • 融云即时通讯云
  • 容联·云通讯
  • 百度云推送
  • 华为推送平台
  • 小米推送
  • 腾讯信鸽推送平台
  • LeanCloud 推送服务
  • 极光推送
  • 友盟消息推送
  • 亚马逊消息推送服务
  • 个推
  • Bmob消息推送

关于UI

UI部分太过零碎,暂时考虑会按照App开发的常用模块来分类整理,这个正在归类中,也欢迎大伙给出建议。

你可能感兴趣的:(Android开源库 按模块整理Android开发过程中优秀的开源库)