加密工具:
commons-codec
是Apache開源組織提供的用于摘要運算妆棒、編碼解碼的包相叁。常見的編碼解碼工具Base64、MD5享钞、Hex割岛、SHA1愉适、DES等。
組件通信:
otto
Event Bus
動畫輔助:
NineOldAndroid
地理輔助:
Geohash
是一種地址編碼方法癣漆。他能夠把二維的空間經(jīng)緯度數(shù)據(jù)編碼成一個字符串维咸。
序列化工具:
protostuffProtobuf 是 Google 的一種數(shù)據(jù)交換格式,它獨立于語言惠爽、獨立于平臺癌蓖。
Google 提供了多種語言來實現(xiàn),比如 Java婚肆、C租副、Go、Python较性,每一種實現(xiàn)都包含了相應語言的編譯器和庫文件用僧。
Protobuf 使用比較廣泛,主要是空間開銷小和性能比較好赞咙,非常適合用于公司內部對性能要求高的 RPC 調用责循。
由于解析性能比較高,序列化以后數(shù)據(jù)量相對較少攀操,所以也可以應用在對象的持久化場景中
但是要使用 Protobuf 會相對來說麻煩些院仿,因為他有自己的語法,有自己的編譯器
序列化工具區(qū)別及是使用參考:
序列化
基于Protostuff的序列化與反序列化
圖片工具:
webp
是一種同時提供了有損壓縮與無損壓縮的[圖片文件格式]。上面直接拷貝百度解釋歹垫。減小apk的大小剥汤。Android Webp 完全解析 快來縮小apk的大小;優(yōu)化Android圖片優(yōu)化--使用webp
DiskLruCache
詳細介紹及使用可參考:下面兩篇文章:
DiskLruCache簡介
Android使用磁盤緩存DiskLruCache
高權限工具:
Xposed框架或EdXposed
是一套開源的排惨、在Android高權限模式下運行的框架服務吭敢,可以在不修改APK文件的情況下影響程序運行(修改系統(tǒng))的框架服務,基于它可以制作出許多功能強大的模塊若贮,且在功能不沖突的情況下同時運作省有。
bug收集工具:
bugly:
breakpad
是 一個非常實用的跨平臺的崩潰轉儲和分析模塊,他支持Windows谴麦,Linux和Mac和Solaris蠢沿。由于他本身跨平臺,所以很大的減少我們在平臺移 植時的工作匾效,畢竟崩潰轉儲舷蟀,每個平臺下都不同,使用起來很難統(tǒng)一面哼,而Google breakpad就幫我們做到了這一點野宜,不管是哪個平臺下的崩潰,都能夠進行統(tǒng)一的分析魔策。
參考文章:Breakpad 簡介與使用匈子;
breakpad的正確編譯和常規(guī)用法
Windows下使用breakpad進行崩潰DUMP收集與分析
UMengbug收集:
數(shù)據(jù)庫工具:
Sqlite:
Tokyo Cabinet
是一個DBM的實現(xiàn)。這里的數(shù)據(jù)庫由一系列key-value對的記錄構成闯袒。key和value都可以是任意長度的字節(jié)序列虎敦,既可以是二進制也可以是字符串。這里沒有數(shù)據(jù)類型和數(shù)據(jù)表的概念政敢。以上是百度解釋:
注解工具:
AndroidAnnotations
是一個可以提高開發(fā)速度的開源框架其徙。如同Spring一樣,AA致力于減少樣板代碼喷户。它提供依賴注入唾那,封裝各類常見操作,能讓用戶通過注解的方式簡化代碼褪尝。使用AA闹获,用戶可以忽略各類繁瑣,重復的代碼恼五,將精力集中在業(yè)務邏輯上昌罩。
Retrofit
是一個 RESTful 的 HTTP 網(wǎng)絡請求框架的封裝,網(wǎng)絡請求的工作本質上是 OkHttp 完成灾馒,而 Retrofit 僅負責 網(wǎng)絡請求接口的封裝。
網(wǎng)絡工具:
Okhttp
AsyncHttpClient
Bolts-tasks
PageSlidingTabStrip
Zxing
Citrus Project
okio
是由square公司開發(fā)的用于IO讀取遣总。補充了Java.io和java.nio的不足睬罗,以便能夠更加方便轨功,快速的訪問、存儲和處理數(shù)據(jù)容达。內部的讀寫操作是在內存中進行的古涧。
duktape
是一個輕量級的嵌入式 JavaScript 引擎,專注于可移植性和低占用率花盐。
unqlite
是一個內嵌式的數(shù)據(jù)庫羡滑,它實現(xiàn)了一個獨立的、無服務器算芯、零配置柒昏、事務性的nosql數(shù)據(jù)庫引擎。它是一個文檔存儲數(shù)據(jù)庫熙揍,類似于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 庫蜘醋。該工具即開即用,可以在大部分系統(tǒng)上直接構建它咏尝,也可以手動選擇和配置各項功能压语。
android-Charts
圖表工具類
dagger
tagsoup
TagSoup是Java語言開發(fā)的,通過SAX引擎解析結構糟糕编检、令人抓狂的不規(guī)范HTML文檔的小工具胎食。TagSoup可以將一個HTML文檔轉換為結構良好的XML文檔(近似于XHTML),方便開發(fā)人員對獲取的HTML文檔進行解析等操作允懂。同時TagSoup提供了命令行程序厕怜,可以運行TagSoup來對HTML文檔進行解析。
wire
是一款聊天軟件, 非常簡單—幾乎純手勢操作粥航,右劃光標進入交流界面琅捏,除了文字交流外,還支持圖片递雀、VoIP—是的柄延,是實時的。Wire提供了iOS缀程、Android和OS X客戶端搜吧,允許用戶同步聊天記錄、呼叫他人杨凑、支持點對點或群發(fā)消息滤奈、以及分享SoundCloud音樂等。
theMVP
androidquery
Android-Query 簡稱AQuery蠢甲,它是一款針對Android的輕量級庫僵刮,AQuery可以實現(xiàn)異步任務和對UI元素的操控,從而使代碼簡單鹦牛、簡潔和易懂搞糕。
官方主頁
GitHub最新下載地址
achartengine
AChartEngine是為Android應用而設計的繪圖工具庫。
FFmpeg
android-stackblur
StackBlur封裝的好用的高斯模糊組件
leakcanray
leakcanary是一個監(jiān)測android和java內存泄漏的工具曼追。他能夠在不影響程序正常運行的情況下窍仰,動態(tài)收集程序存在的內存泄漏問題。小的內存泄露可能不會有直接導致程序崩潰礼殊,但是量變終會引發(fā)質變驹吮,從而造成內存溢出,程序崩潰晶伦。leakcanary因為功能強大碟狞,而且部署簡單。
Zlib
解壓文件
stun
STUN(Simple Traversal of UDP over NATs婚陪,NAT 的UDP簡單穿越)是一種網(wǎng)絡協(xié)議族沃,它允許位于NAT(或多重NAT)后的客戶端找出自己的公網(wǎng)地址,查出自己位于哪種類型的NAT之后以及NAT為某一個本地端口所綁定的Internet端端口泌参。這些信息被用來在兩個同時處于NAT 路由器之后的主機之間建立UDP通信脆淹。
lz4
是目前綜合來看效率最高的壓縮算法,更加側重壓縮解壓速度沽一,壓縮比并不是第一盖溺。在當前的安卓和蘋果操作系統(tǒng)中,內存壓縮技術就使用的是lz4算法铣缠,及時壓縮手機內存以帶來更多的內存空間烘嘱。本質上是時間換空間昆禽。
視頻工具
ijkplayer
ijkplayer是一個基于FFmpeg的輕量級Android/iOS視頻播放器開源項目。
Danmaku Falme master (烈焰彈幕使)
libyuv
Google開源的實現(xiàn)各種YUV與RGB之間相互轉換拙友、旋轉为狸、縮放的庫歼郭。它是跨平臺的遗契,可在Windows、Linux病曾、Mac牍蜂、Android等操作系統(tǒng),x86泰涂、x64鲫竞、arm架構上進行編譯運行,支持SSE逼蒙、AVX从绘、NEON等SIMD指令加速