附上原文作者連接:作者:金誠
一.榜單介紹
排行榜包括四大類:
單一框架:僅提供路由、網(wǎng)絡層、UI層、通信層或其他單一功能的框架
混合開發(fā)框架:提供開發(fā)hybrid app谈喳、h5與webview結合能力、web app能力的框架
企業(yè)級開源項目:可以獨立運行的app戈泼,有極高的學習價值婿禽、思路借鑒意義
書籍類開源項目:類似Open-sourc-project這樣的導航類項目;大型公司的Android課程的學習目錄?tips
榜單排序依據(jù):
1.項目開源
2.github上該項目的star個數(shù)
3.開發(fā)團隊大猛、作者的實力
為了保證榜單內(nèi)容的多樣性谈宛,榜單上盡可能的不重復同類型框架(比如多款listview增強框架)
適用讀者范圍:
正在入門Android的新手~~~Android初級開發(fā)工程師 ?初出茅廬
熟讀《書籍導航類項目排行榜》,勤加練習進步會更大胎署;編譯運行并動腦思考《企業(yè)級開源項目》中的案例,可以提升開發(fā)完整項目的能力窑滞;;略讀《框架百大排行榜》琼牧,最大的作用是的是拓展視野,可以看到很多時下流行的名詞概念術語
Android初級開發(fā)工程師~~~中級開發(fā)工程師 ? ?知其然知其所以然
熟練哀卫、快速巨坊、高效的默寫出《企業(yè)級開源項目》中的(自己感興趣)典型案例,對提高書寫代碼的自信此改,提升項目功能整體設計能力趾撵;深究《框架百大排行榜》排名靠前框架的原理,會讓自己在與家人共啃、同事占调、同學聚會之時多了一些炫耀的資本;如果你能熟練運用《框架百大排行榜》里所提到的框架移剪,在遇到某種需求的時候究珊,立刻會拿出“最優(yōu)秀的框架”去解決,意味著你離中級工程師不太遠了
中級纵苛、高級剿涮、資深工程師 ? 知其然知其不可然
《框架百大排行榜》里所提到的流行詞、流行術語——使用能力攻人、融會貫通其原理取试、講解框架能力的高低,將讓你不斷的在這三個級別徘徊怀吻;
會有意識的合并榜單里多款同類型框架瞬浓,來彌補單一框架的某些缺陷,比如將同為網(wǎng)絡請求框架的Volley和Okhttp封裝到一起應對不同場面的需求烙博;
會有意識的二次開發(fā)、修改源碼來擴展榜單所提到的大型框架;
能夠在開發(fā)團隊里推動径簿、部署某些框架的能力——比如要在一個新加入的陌生團隊說服leader和項目成員使用熱更新番捂、插件化、組件化笼痛、hybrid 開發(fā)等多種開發(fā)模式,你是否有這個實力?
框架名次越靠前,值得使用的優(yōu)先級就越高访雪、研究原理得到的收獲會更多、對讀者啟發(fā)的價值就越大
二.百大框架排行榜
快速索引
框架名稱上榜關鍵字
1.Retrofit網(wǎng)絡
2.okhttp網(wǎng)絡
3.Butter Knife代碼模板
4.MPAndroidChart圖表
5.glide圖片
6.leakcanary內(nèi)存
7.Android-Universal-Image-Loader圖片
8.EventBus事件消息
9.zxing條碼掃描
10.picasso圖片
11.lottie-android動畫
12.fresco圖片
13.RxAndroid異步
14.SlidingMenu菜單
15.PhotoView圖片
16.material-dialogsUI
17.droid-async-http網(wǎng)絡
18.androidannotations注解
19.fastjsonjson
20.Material-Animations動畫
21.tinker熱修復
22.ViewPagerIndicatorUI
23.Android-CleanArchitecture架構
24.Android-PullToRefresh刷新
25.flexbox-layoutUI
26.AndroidSwipeLayoutUI
27.realm-java數(shù)據(jù)庫
28.greenDAO數(shù)據(jù)
29.stetho調(diào)試
30.BaseRecyclerViewAdapterHelperUI
31.AndroidViewAnimations動畫
32.MaterialDrawer菜單
33.Android-ObservableScrollViewUI
34.CircleImageView圖片
35.logger調(diào)試
36.agera異步
37.BottmBar菜單
38.Calligraphy字體
39.AndroidSlidingUpPanelUI
40.AppIntroUI
41.recyclerview-animators動畫
42.dagger依賴注入
43.Android-BootstarpUI
44.RxBinding響應式
45.ListViewAnimations動畫
46.UItimateRecyclerViewUI
47.uCrop圖片
48.RxJava-Android-Samples用例
49.AndroidAutoLayout適配
50.EffectiveAndroidUI性能
51.Luban圖片
52.DroidPlugin插件化
53.otto響應式
54.u2020用例
55.buck構建
56.PermissionsDispatcher權限
57.android-gif-drawableGIF
58.Apktool反編譯
59.dynamic-load-apk插件化
60.atlas插件化
61.volley網(wǎng)絡
62.androidmvp用例
63.SwipeBackLayout手勢
64.FlycoTabLayoutUI
65.android-testing測試
66.FileDownloader下載
67.JieCaoVideoPlayer多媒體
68.glide-transformations圖片
69.android-gpuimage圖片
70.RxPermissions權限
71.freeline編譯
72.RxLifecycle生命周期
73.classyshark反編譯
74.acra崩潰日志
75.DiskLruCache文件
76.dexposed熱修復
77.Litho性能
78.mosbyMVP
79.AndResGuard混淆
80.StatusBarUtil狀態(tài)欄
81.robolectric測試
82.Fragmentation嵌套
83.Small插件化
84.JsBridgehybrid
85.richeditor-androidUI
86.Transitions-Everywhere動畫
87.android-viewbadger勛章
88.AndroidWiFiADB調(diào)試
89.emojicon表情包
90.packer-ng-plugin多渠道
91.android-priority-jobqueue多線程
92.Android-Debug-Database調(diào)試
93.conceal加密
94.ARouter頁面路由
95.MagicaSakura多主題
96.CustomActivityOnCrash崩潰
97.XhsEmoticonsKeyboard鍵盤
1. Retrofit
一句話介紹:Retrofit是一款類型安全的網(wǎng)絡框架掂林,基于HTTP協(xié)議臣缀,服務于Android和java語言
上榜理由:Retrofit以21.8k的stars量雄踞github中android子標題榜首,第一當之無愧泻帮。
官網(wǎng)地址http://square.github.io/retrofit/
githubhttps://github.com/square/retrofit
作者:square團隊
使用:
compile'com.squareup.retrofit2:retrofit:2.3.0'
2.okhttp
一句話介紹:okhttp是一款基于HTTP和HTTP2.0協(xié)議的網(wǎng)絡框架精置,服務于java和android客戶端
上榜理由,okhttp以20.4k的stars量雄踞github中android子標題第二名锣杂。大型公司比如淘寶也封裝的是okhttp脂倦。Retrofit2.0開始內(nèi)置okhttp框架,Retrofit專注封裝接口完成業(yè)務需求元莫,okhttp專注網(wǎng)絡請求的安全高效赖阻,筆者將兩者區(qū)分開,是想讓后來學習者知道踱蠢,這是兩套框架火欧,學習框架原理時可以分開學習,以免理解混亂茎截。
官網(wǎng)地址http://square.github.io/okhttp/
githubhttps://github.com/square/okhttp
作者:square團隊
使用:
compile'com.squareup.okhttp3:okhttp:3.8.0'
3.Butter Knife
一句話介紹:Butter Knife所提供了一種能力——使用注解生成模板代碼苇侵,將view與方法和參數(shù)綁定。
上榜理由:github上16.5K個star稼虎,配合Androidstudio提供的Butter Knife插件衅檀,幫助開發(fā)者省卻了頻繁findviewbyid的煩惱,最新的Butter Knife還提供了onclick綁定以及字符串的初始化霎俩,初學者可以查閱Butter Knife以及Butter Knife插件進一步學習哀军!
官網(wǎng)地址:http://jakewharton.github.io/butterknife/
github:https://github.com/JakeWharton/butterknife
作者:JakeWharton?,也是square團隊成員之一
使用:
dependencies {
compile'com.jakewharton:butterknife:8.6.0'annotationProcessor'com.jakewharton:butterknife-compiler:8.6.0'}
4.MPAndroidChart
一句話介紹:MPAndroidChart是一款圖表框架
上榜理由:github上16.1K個star打却,以快速杉适、簡潔。強大著稱的圖表框架
官網(wǎng)地址https://github.com/PhilJay/MPAndroidChart
github ?https://github.com/PhilJay/MPAndroidChart
作者:PhilJay
使用:
1. 在AS中加入Gradle依賴
在根目錄的build.gradle上加入:
allprojects {
repositories {
maven { url"https://jitpack.io"}
}
}
在app的build.gradle上加入:
dependencies {
compile'com.github.PhilJay:MPAndroidChart:v3.0.2'}
5. glide
一句話介紹:glide是一款專注于提供流暢劃動能力的“圖片加載和緩存框架”
上榜理由:15.9k個star柳击,圖片加載類框架排名第一的框架猿推,google 在2014開發(fā)者大會上演示的camera app就是基于gilde框架開發(fā)的
githubhttps://github.com/bumptech/glide
作者?Bump Technologies團隊
使用:
repositories {
mavenCentral()
}
dependencies {
compile'com.github.bumptech.glide:glide:3.8.0'compile'com.android.support:support-v4:19.1.0'}
6.leakcanary
一句話介紹:一款內(nèi)存檢測框架,服務于java和android客戶端
上榜理由:方便,簡潔是leakcanary最大的特點蹬叭,只需在應用的apllication中集成藕咏,就可以直接使用它;15.5k個star說明了它有多么受歡迎
github?https://github.com/square/leakcanary
作者 square團隊
使用:
dependencies {
debugCompile'com.squareup.leakcanary:leakcanary-android:1.5.1'releaseCompile'com.squareup.leakcanary:leakcanary-android-no-op:1.5.1'testCompile'com.squareup.leakcanary:leakcanary-android-no-op:1.5.1'}
在Application中寫入:
publicclassExampleApplication extends Application {
@OverridepublicvoidonCreate() {
super.onCreate();if(LeakCanary.isInAnalyzerProcess(this)) {//This process is dedicated to LeakCanary for heap analysis.//You should not init your app in this process.return;
}
LeakCanary.install(this);//Normal app init code...}
}
7.Android-Universal-Image-Loader
一句話介紹:曾經(jīng)的圖片加載框架王者秽五,android開發(fā)老手都用過它
上榜理由:android端圖片加載框架的老大哥了孽查,15.3k個star足以證明它的熱門,UIL與gilde最大區(qū)別是可定制坦喘,UIL提供了大量配置方式盲再,圖片加載狀態(tài)的回調(diào)(成功,失敗瓣铣,進行中)答朋,加載動畫等;以及提供了移動端圖片加載框架的緩存思路:三級緩存策略 sd卡-內(nèi)存-網(wǎng)絡棠笑;值得注意的是梦碗,UIL以及兩年未更新了,但筆者仍推薦各位使用蓖救!
githubhttps://github.com/nostra13/Android-Universal-Image-Loader
作者 nostra13
使用:
下載地址universal-image-loader-1.9.5.jar
8.EventBus
一句話介紹:EventBus是一款本地組件間通信框架
上榜理由:組件間通信框架star量第一:14.8k叉弦,在大型項目的Activities,fragments藻糖,Threads,Services都可以看到它的使用場景库车,盡管EventBus在向未創(chuàng)建的組件傳遞事件時有些局限巨柒,僅適合在“活著的”組件間傳遞消息,但仍不妨礙它活躍在各個大型項目各個場景里柠衍。
官網(wǎng)地址http://greenrobot.org/eventbus/documentation/how-to-get-started/
githubhttps://github.com/greenrobot/EventBus
作者?greenrobot
使用:
compile'org.greenrobot:eventbus:3.0.0'
9.zxing
一句話介紹:條碼圖像處理庫
上榜理由:如果你用過二維碼洋满,你肯定已經(jīng)間接使用過大名鼎鼎的zxing了。13.9K的star量珍坊,讓它排在本榜單第九牺勾,實至名歸,如果你有了解二維碼的需求阵漏,不妨從了解驻民、修改它源碼入手。
githubhttps://github.com/zxing/zxing
作者??Sean Owen
10.picasso
一句話介紹:強力的圖片下載履怯、緩存框架
上榜理由:本榜單出現(xiàn)的第三款圖片類框架回还,不同的是picasso更強調(diào)圖片下載,你可以將picasso集成進你的項目中叹洲,你也可以結合gilde和UIL與picasso柠硕,三者一齊封裝至你的項目中,按需所用运提。
官網(wǎng)地址http://square.github.io/picasso/
githubhttps://github.com/square/picasso
作者 square團隊
使用:
compile'com.squareup.picasso:picasso:2.5.2'
或者下載
11.lottie-android
一句話介紹:一款可以在Android端快速展示Adobe Afeter Effect(AE)工具所作動畫的框架
上榜理由:動畫類框架第一名蝗柔,github上13.3k個star證明了他的優(yōu)越性闻葵,利用json文件快速實現(xiàn)動畫效果是它最大的便利,而這個json文件也是由Adobe提供的After Effects(AE)工具制作的癣丧,在AE中裝一個Bodymovin的插件槽畔,使用這個插件最終將動畫效果生成json文件,這個json文件即可由LottieAnimationView解析并生成絢麗的動畫效果坎缭。而且它還支持跨平臺喲竟痰。
githubhttps://github.com/airbnb/lottie-android
作者:Airbnb 團隊
12.fresco
一句話介紹:一款可以管理圖片內(nèi)存的框架
上榜理由:github上12.8k個star,圖片類排行榜第四名掏呼,facebook的出身證明了它并非是重復造的輪子坏快,在管理圖片內(nèi)存領域上有著它的一片天地,漸進式加載憎夷、加載gif都是它與前三位相比獨有的特性
官網(wǎng)地址:https://www.fresco-cn.org/
githubhttps://github.com/facebook/fresco
作者 facebook
使用:
dependencies {//其他依賴compile'com.facebook.fresco:fresco:0.12.0'}
下面的依賴需要根據(jù)需求添加:
dependencies {//在 API < 14 上的機器支持 WebP 時莽鸿,需要添加compile'com.facebook.fresco:animated-base-support:0.12.0'//支持 GIF 動圖,需要添加compile'com.facebook.fresco:animated-gif:0.12.0'//支持 WebP (靜態(tài)圖+動圖)拾给,需要添加compile'com.facebook.fresco:animated-webp:0.12.0'compile'com.facebook.fresco:webpsupport:0.12.0'//僅支持 WebP 靜態(tài)圖祥得,需要添加compile'com.facebook.fresco:webpsupport:0.12.0'}
13.RxAndroid
一句話介紹:一款Android客戶端組件間異步通信的框架
上榜理由:github上12.7k個star,位居組件通信框架的第二名蒋得,僅在EventBus之后级及,如果要問兩者的區(qū)別,Eventbus是用來取代組件間繁瑣的interface额衙,RxAndroid是用來取代AnsyTask的饮焦,并不沖突;當然RxAndroid的優(yōu)點并不僅限于此窍侧,更多優(yōu)雅的實現(xiàn)县踢,可以去官網(wǎng)查閱!
githubhttps://github.com/ReactiveX/RxAndroid
作者?JakeWharton
使用:
compile'io.reactivex.rxjava2:rxandroid:2.0.1'compile'io.reactivex.rxjava2:rxjava:2.1.0'
14.SlidingMenu
一句話介紹:側滑菜單欄框架
上榜理由:與Userval-Image-loader 齊名的上古神器框架——為你的app提供側滑菜單欄的功能伟件;github閃更有10.5k個star硼啤,證明了它的經(jīng)久不衰,即使在Google推出了NavigationDrawer斧账,仍然沒有減少開發(fā)者對SildingMenu的擁簇谴返,經(jīng)典總是經(jīng)得起考驗的,這個上古神獸已經(jīng)四年沒有更新了咧织;有太多太多的app使用過它亏镰,這些都可以在軟件的開源許可上看到!
githubhttps://github.com/jfeinstein10/SlidingMenu
作者?Jeremy Feinstein
使用:
在gihub上fork源碼拯爽,集成進項目中
15.PhotoView
一句話介紹:一款ImageView展示框架索抓,支持縮放,響應手勢
上榜理由:10.3k的star數(shù)量,位于圖片類框架排行榜第五位逼肯,PhotoView與前四位不同的是這次帶來的是圖片的展示能力耸黑,你一定好奇微信的頭像點擊放大是如何實現(xiàn)的,很多App的圖片顯示響應手勢按壓是如何實現(xiàn)的篮幢,了解PhotoView大刊,你一定會開心的!(筆者也不會告訴你ImageView的點擊放大效果在Android的sample也有)
githubhttps://github.com/chrisbanes/PhotoView
作者:chrisbanes
使用:
在app根目錄的build.gradle中加入:
allprojects {
repositories {
maven { url"https://jitpack.io"}
}
}
在app的module目錄的build.gralde中加入:
dependencies {
compile'com.github.chrisbanes:PhotoView:latest.release.here'}
使用
android:id="@+id/photo_view"android:layout_width="match_parent"android:layout_height="match_parent"/>
PhotoView photoView=(PhotoView) findViewById(R.id.photo_view);
photoView.setImageResource(R.drawable.image);
16.material-dialogs
一句話介紹:一款自定義dialog框架
上榜理由:9.9k個star三椿,也是繼PhotoView缺菌,SlidingMenu之后第三款自定義View框架,也許你還是自定義View的新人搜锰,對Dialog使用的還有點生疏伴郁,你可以通過它提升你的Dilaog使用能力
githubhttps://github.com/afollestad/material-dialogs
作者:Aidan Follestad
使用:
dependencies {//... other dependencies herecompile'com.afollestad.material-dialogs:core:0.9.4.5'
}
17.droid-async-http
一句話介紹:一款基于Http協(xié)議的異步請求的網(wǎng)絡框架,
上榜理由:雖然你有無數(shù)個使用retrofit+okhttp的理由蛋叼,但9.8k個star焊傅,證明它仍然值得你深入學習。值得注意的是狈涮,它也已經(jīng)有兩年沒更新了狐胎,你盡管拿去當你懶惰的理由!
githubhttps://github.com/loopj/android-async-http
作者:James Smith
使用:
repositories {
maven {
url'https://oss.sonatype.org/content/repositories/snapshots/'}
}
dependencies {
compile'com.loopj.android:android-async-http:1.5.0-SNAPSHOT'}
18.androidannotations
一句話介紹:一款基于注解的快速開發(fā)框架
上榜理由:與Butterknife一樣基于注解歌馍,利用注解快速完成view的初始化握巢,不同的是androidannotations提供了更多的能力:簡單的線程模型等;筆者只接觸過Butterknife松却,無法更進一步敘述androidannotations的優(yōu)勢镜粤,如果你志在深入了解注解的妙用,可以嘗試探索一下玻褪!
官網(wǎng)地址http://androidannotations.org/
githubhttps://github.com/androidannotations/androidannotations
作者:?WonderCsabo
19.fastjson
一句話介紹:一款基于json解析、生成的框架
上榜理由:從它的名字不難看出公荧,快速是它最大的特性带射,阿里巴巴的出身保證了代碼的質(zhì)量和優(yōu)越,9.4k的star數(shù)量循狰,也是榜單里第一個出現(xiàn)的中國開源框架窟社,涉及網(wǎng)絡的app都會用到json,fastjson值得作為你的首選绪钥!
githubhttps://github.com/alibaba/fastjson
作者:alibaba
使用:
compile'com.alibaba:fastjson:1.1.58.android'
20.Material-Animations
一句話介紹:一款提供場景轉換過渡能力的動畫框架
上榜理由:Android動畫框架排行榜第二名灿里,9.3k個star數(shù)量,與動畫框架榜單第一名lottie-android不同的是程腹,Material-Animations提供的是場景切換的動畫效果匣吊。Android 官網(wǎng)sample中已經(jīng)提供了部分Transition (轉場動畫)的展示,作為初學者很難快速拓展到自己項目中,Material-Animations的示例出現(xiàn)為開發(fā)者省去了此類麻煩色鸳,直接照搬應用到自己的App中吧社痛。
githubhttps://github.com/lgvalle/Material-Animations
作者:Luis G. Valle
使用:
down源碼,修改學習
21.tinker
一句話介紹:它是微信官網(wǎng)的Android熱補丁解決方案
上榜理由:9.1k個star命雀,微信在用的熱補丁方案蒜哀,心動不如行動
官網(wǎng)地址http://www.tinkerpatch.com/Docs/intro
githubhttps://github.com/Tencent/tinker
作者:Tencent
22.ViewPagerIndicator
一句話介紹:一款基于ViewPager的頁面指示器開源框架
上榜理由:上古神器,盡管已經(jīng)五年未更新了吏砂,但你仍然可以在淘寶等app中看到它的使用場景撵儿,8.9K的star量讓它不慍不火的在矗立在榜單里
官網(wǎng)地址http://viewpagerindicator.com/
githubhttps://github.com/JakeWharton/ViewPagerIndicator
作者:JakeWharton
使用:
下載?地址https://github.com/JakeWharton/Android-ViewPagerIndicator/zipball/master
23.Android-CleanArchitecture
一句話介紹:一個講解設計框架的demo
上榜理由:它不是框架,你可以把它當作一本書狐血,它將教會你如何設計簡潔的架構淀歇,工程里有一個sample app,配合圖文講解氛雪,你將對Android客戶端的架構有更深一層的認識房匆。8.8k的star數(shù)量,證明了它是一本“好書”喲报亩。
githubhttps://github.com/android10/Android-CleanArchitecture
作者:Fernando Cejas
24..Android-PullToRefresh
一句話介紹:一款為普通視圖提供刷新UI的視圖框架
上榜理由:8.2K的star數(shù)量使它位居刷新類UI框架榜首浴鸿,強大的兼容能力硫狞,該框架支持ListView雷酪,GrdiView,WebViewScrollView署浩,ViewPager等眾多View增加刷新的能力劲件,如果你有增加上拉加載掸哑,下拉加載的需求,你應該考慮它了零远!
githubhttps://github.com/chrisbanes/Android-PullToRefresh
作者:Chris Banes
使用:
github fork源碼苗分,集成到項目中
25.flexbox-layout
一句話介紹:一款彈性伸縮布局
上榜理由:8.1k個star,前端H5開發(fā)者轉Android開發(fā)的福音牵辣,F(xiàn)lexboxLayout作為LinearLayout和RelativeLayout的替代者摔癣,值得各位一試,與其一同推出的還有ConstraintLayout纬向。
githubhttps://github.com/google/flexbox-layout
作者:Google
使用:
dependencies {
compile'com.google.android:flexbox:0.3.0-alpha3'}
26.AndroidSwipeLayout
一句話介紹:非常強大滑動式布局
上榜理由:滑動刪除是國產(chǎn)app常見需求择浊,商品詳情的上下滑動需求作為開發(fā)者的我們也經(jīng)常遇到,AndroidSwipeLayout在github上擁有8K個star逾条,證明它經(jīng)受住了檢驗琢岩,各位值得一試
githubhttps://github.com/daimajia/AndroidSwipeLayout
作者:daimajia
使用:
dependencies {
compile'com.android.support:recyclerview-v7:21.0.0'compile'com.android.support:support-v4:20.+'compile"com.daimajia.swipelayout:library:1.2.0@aar"}
或下載
27.realm-java
一句話介紹:Realm是一款移動端數(shù)據(jù)庫框架
上榜理由:核心數(shù)據(jù)引擎C++打造,比普通的Sqlite型數(shù)據(jù)庫快的多师脂。筆者猜測正是如此担孔,realm以7892個star數(shù)讓它位于大名鼎鼎的數(shù)據(jù)庫框架GreenDao(7877)之前
官網(wǎng)地址:https://realm.io/cn/
githubhttps://github.com/realm/realm-java
作者:Realm團隊
使用:https://realm.io/docs/java/latest/
28.greenDAO
一句話介紹:greenDAO是一款高效江锨、快速的SQLite型數(shù)據(jù)庫
上榜理由:greenDAO的star數(shù)量與Realm不相上下,且與EventBus師出同門攒磨,也是由greenrobot團隊開發(fā)維護的泳桦,質(zhì)量有所保證,但若拷問筆者Realm與greenDao兩者的優(yōu)劣性娩缰,只能具體到實際使用當中灸撰,模擬線上的使用情形,進行高強度測試后才能下判斷拼坎,故在此不能一言兩語說完浮毯,深表遺憾
官網(wǎng)地址:http://greenrobot.org/greendao/
githubhttps://github.com/greenrobot/greenDAO
使用:
buildscript {
repositories {
jcenter()
mavenCentral()//add repository}
dependencies {
classpath'com.android.tools.build:gradle:2.3.1'classpath'org.greenrobot:greendao-gradle-plugin:3.2.2'//add plugin}
}-----
apply plugin:'com.android.application'apply plugin:'org.greenrobot.greendao'//apply plugindependencies {
compile'org.greenrobot:greendao:3.2.2'//add library}
29.stetho
一句話介紹:一款提供在Chrome開發(fā)者工具上調(diào)試Android app能力的開源框架
上榜理由:上古時期Android程序員要調(diào)試本地數(shù)據(jù)庫,需要進入Android Device Monitor找到/data/data/com.xxx.xxx/databases里面的db文件泰鸡,導出到PC端债蓝,用PC的數(shù)據(jù)工具查看,現(xiàn)在使用stetho省卻了如此的麻煩盛龄;如今的Android程序員如果想調(diào)試網(wǎng)絡請求響應過程中的報文段饰迹,需要在請求中加入Log語句,一個信息一個信息打印出來余舶,相當繁瑣啊鸭,現(xiàn)在請使用stetho,省卻諸如此類的麻煩把匿值!7.8K個star數(shù)赠制,廣大Android開發(fā)者調(diào)試的福音,你值得擁有挟憔!
作者:FaceBook
官網(wǎng)地址:http://facebook.github.io/stetho/
githubhttps://github.com/facebook/stetho
使用:
compile'com.facebook.stetho:stetho:1.5.0'
30.BaseRecyclerViewAdapterHelper
一句話介紹:強大钟些、流暢的Recyvlerview通用適配器
上榜理由:如果你是RecyclerView的擁簇者,你一定要體驗這款專門服務該view的適配器绊谭,7.7K個star政恍,讓這個家伙位于github上Android 適配器排行榜第一,還有很多驚喜等你去探尋达传!
官網(wǎng)地址:http://www.recyclerview.org/
作者:陳宇明以及他的小伙伴
使用:
allprojects {
repositories {
...
maven { url"https://jitpack.io"}
}
}
dependencies {
compile'com.github.CymChad:BaseRecyclerViewAdapterHelper:VERSION_CODE'}
31.AndroidViewAnimations
一句話介紹:一款提供可愛動畫集合的框架
上榜理由:正如作者所說篙耗,它囊括了開發(fā)需求過程中所有的動畫效果,集成進了這個簡潔可愛的動畫框架趟大。7.6K的star數(shù),證明了它在動畫框架領域的戰(zhàn)斗力铣焊,讓它僅僅位列l(wèi)ottie-android和Material-Animations兩個動畫框架霸主之后逊朽,屈居第三名
githubhttps://github.com/daimajia/AndroidViewAnimations
作者:daimajia
使用:
dependencies {
compile'com.android.support:support-compat:25.1.1'compile'com.daimajia.easing:library:2.0@aar'compile'com.daimajia.androidanimations:library:2.2@aar'}
sample:
YoYo.with(Techniques.Tada)
.duration(700)
.repeat(5)
.playOn(findViewById(R.id.edit_area));
32.?MaterialDrawer
一句話介紹:強大的塑料風格的抽屜框架
上榜理由:7.6K的star數(shù)量,作者的持續(xù)更新狀態(tài)曲伊,如果你還在猶豫上手SlidingMenu遇到bug沒人管的困境叽讳,那么你可以入手它作為你的抽屜布局
github ?https://github.com/mikepenz/MaterialDrawer
作者:Mike Penz
使用:
compile('com.mikepenz:materialdrawer:5.9.2@aar') {
transitive=true}
newDrawerBuilder().withActivity(this).build();
33.Android-ObservableScrollView
一句話介紹:一款讓視圖滑動更具有視覺效果的滑動式框架
上榜理由:7.5K的star數(shù)量追他,證明了它曾經(jīng)的價值,github上提供了12種滑動效果岛蚤,你可以用它彌補其他框架的不足邑狸,提升你的App體驗!
githubhttps://github.com/ksoichiro/Android-ObservableScrollView
作者:Soichiro Kashima
使用:
compile com.github.ksoichiro:android-observablescrollview
34.CircleImageView
一句話介紹:圓角ImageView
上榜理由:也許你已經(jīng)聽說過無數(shù)種展示圓角圖片的方法涤妒,但如果你不嘗試嘗試CircleImageView单雾,那么你的知識庫會因為少了它黯然失色,有的時候完成需求是開發(fā)者優(yōu)先考慮的她紫,不同實現(xiàn)方法牽扯到的性能差異更值得讓人深思硅堆,如果你有心在圖片性能上有所涉獵,那么CircleImageView絕對不會讓你敗興而歸贿讹。最后別忘了記得去看Romain Guy的建議喲渐逃。
githubhttps://github.com/hdodenhof/CircleImageView
作者:Henning Dodenhof
使用:
dependencies {
...
compile'de.hdodenhof:circleimageview:2.1.0'}
xmlns:app="http://schemas.android.com/apk/res-auto"android:id="@+id/profile_image"android:layout_width="96dp"android:layout_height="96dp"android:src="@drawable/profile"app:civ_border_width="2dp"app:civ_border_color="#FF000000"/>
35.logger
一句話介紹:一款讓log日志優(yōu)雅顯示的框架
上榜理由:logger作為調(diào)試框架,并未給出很強大的能力民褂,它最大的亮點是優(yōu)雅的輸出log信息茄菊,并且支持多種格式:線程、Json赊堪、Xml面殖、List、Map等雹食,如果你整日沉迷于汪洋大海般的log信息不能自拔畜普,logger就是你的指路明燈!6.6k個star讓他位列調(diào)試框架第二名群叶,屈居facebook的stetho之后
githubhttps://github.com/orhanobut/logger
作者:Orhan Obut
使用:
compile'com.orhanobut:logger:2.1.1'
Logger.d(MAP);
Logger.d(SET);
Logger.d(LIST);
Logger.d(ARRAY);Logger.json(JSON_CONTENT);
Logger.xml(XML_CONTENT);
36.agera
一句話介紹:一款服務于Android平臺的響應式編程框架
上榜理由:google專門推出一套響應式編程框架服務于Android開發(fā)者吃挑,相比于之響應式編程框架榜首的?RxJava RxAndroid,它更輕量街立,兩者最大的不同點在于agera基于push event舶衬、pull data (VS Rx系列 push data)。
githubhttps://github.com/google/agera
作者:Google
使用:
compile'com.google.android.agera:agera:1.3.0'
擴展能力
compile'com.google.android.agera:content:1.3.0'compile'com.google.android.agera:database:1.3.0'compile'com.google.android.agera:net:1.3.0'compile'com.google.android.agera:rvadapter:1.3.0'compile'com.google.android.agera:rvdatabinding:1.3.0'
37.BottmBar
一句話介紹:一款底部導航欄視圖框架
上榜理由:底部欄里的王者框架赎离,6.3K的star數(shù)量逛犹,證明了它的優(yōu)秀,完全遵循材料設計規(guī)范梁剔,上手非常方便虽画。如果說缺點,無法設置icon與titile的間距荣病,無法自定義視圖的大小等码撰,但這些都可以通過修改源代碼解決,筆者獻丑也修改了一套符合國內(nèi)開發(fā)者的底部導航框架个盆,即將開源脖岛。
githubhttps://github.com/roughike/BottomBar
作者:Iiro Krankka
使用:
compile'com.roughike:bottom-bar:2.3.1'
38.Calligraphy
一句話介紹:一款自定義字體框架
上榜理由:如果你還在為一鍵修改App內(nèi)所有字體樣式而煩惱朵栖,6.3K個star的Calligraphy就值得你擁有,它可以同時修改整個整個項目的Textview字體柴梆,也可以單獨 設置某個Textview的字體陨溅,還在等什么,快來試試吧绍在!
githubhttps://github.com/chrisjenx/Calligraphy
作者:Christopher Jenkins
使用:
dependencies {
compile'uk.co.chrisjenx:calligraphy:2.3.0'}
39.AndroidSlidingUpPanel
一句話介紹:可拖動的滑動面板視圖框架
上榜理由:如果你的項目需要一個可拖拽的滑動式面板(展示某些詳情信息门扇,播放音樂,地圖信息等)揣苏,那么推薦你使用它悯嗓,6.3k個star,來自創(chuàng)業(yè)公司umano的作品卸察,證明它是用心推出的杰作
githubhttps://github.com/umano/AndroidSlidingUpPanel
使用:
dependencies {? ? repositories {? ? ? ? mavenCentral()? ? }
compile'com.sothree.slidinguppanel:library:3.3.1'}
40.AppIntro
一句話介紹:一款提供快速制作歡迎頁的框架
上榜理由:筆者從未把打算把歡迎頁框架納入排行榜當中脯厨,作為國內(nèi)開發(fā)者,ViewPager開發(fā)App的歡迎頁已經(jīng)是手到擒來的需求坑质,為何一個開源的歡迎頁框架會在github上擁有6.3k個star合武?也許你會不屑一顧,是的涡扼,往往就在不屑一顧的瞬間稼跳,機遇就悄悄溜走了。
githubhttps://github.com/apl-devs/AppIntro
作者:Paolo Rotolo
allprojects {
repositories {
...
maven { url'https://jitpack.io'}
}
}
dependencies {
compile'com.github.apl-devs:appintro:v4.2.0'}
41.recyclerview-animators
一句話介紹:一款為Recyclerview提供擴展動畫能力的框架
上榜理由:有一句老話:如果有天你失去對新事物的興趣吃沪,那就說明你老了汤善。recyclerview已經(jīng)推出快三年了,還在用listview的人們票彪,是否已經(jīng)發(fā)掘自己漸漸變老红淡;不要灰心,快為你的項目加入recyclerview-animators框架吧降铸,為“自己”加入新鮮的血液和能量T诤怠(筆者備注:6.2K個star)
githubhttps://github.com/wasabeef/recyclerview-animators
作者;https://github.com/wasabeef
使用:
dependencies {//jCentercompile'jp.wasabeef:recyclerview-animators:2.2.6'}
42.dagger
一句話介紹:一款通過依賴注入降低程序間耦合的開發(fā)框架
上榜理由:github 上dagger1版本 有6.2k個star 推掸, dagger2版本有7.3k個桶蝎;由square完成的dagger1版本,到如今google團隊接手的dagger2版本谅畅,強力開發(fā)團隊保證了代碼在設計上的優(yōu)越性登渣;如果你想探究Android 領域的設計模式,這也是不錯的選擇毡泻。
官網(wǎng)地址:https://google.github.io/dagger/
github :https://github.com/google/dagger
作者:google
使用:
dependencies {
compile'com.google.dagger:dagger:2.x'annotationProcessor'com.google.dagger:dagger-compiler:2.x'}
If you're using classes in dagger.android you'll also want to include:
compile'com.google.dagger:dagger-android:2.x'compile'com.google.dagger:dagger-android-support:2.x'annotationProcessor'com.google.dagger:dagger-android-processor:2.x'
43.Android-Bootstarp
一句話介紹:一款提供在Android應用上實現(xiàn)Bootstrap(web框架)所作出效果的框架
上榜理由:榜單上第二款響應web技術的Android 端框架胜茧,還記得第一名是誰嗎——flexbox-layout,作為Android開發(fā)者牙捉,你有必要去了解Web技術了竹揍。5.9k個star,證明它不容小覷
githubhttps://github.com/Bearded-Hen/Android-Bootstrap
作者:Bearded-Hen團隊
使用:
dependencies {
compile'com.beardedhen:androidbootstrap:{X.X.X}'}
44.RxBinding
一句話介紹:一款提供UI組件事件響應能力的框架
上榜理由:如果你還未開始RxAndroid 之旅邪铲,RxBinding可以作為你的第一站芬位,通過RXBinding,你將理解響應式編程的快樂带到,讓項目里的事件流程更清晰昧碉。5.6K個star,RxAndroid作者親自操刀揽惹,快來試用吧被饿!
githubhttps://github.com/JakeWharton/RxBinding
作者:JakeWharton
Platform bindings:
compile'com.jakewharton.rxbinding2:rxbinding:2.0.0''support-v4'library bindings:
compile'com.jakewharton.rxbinding2:rxbinding-support-v4:2.0.0''appcompat-v7'library bindings:
compile'com.jakewharton.rxbinding2:rxbinding-appcompat-v7:2.0.0''design'library bindings:
compile'com.jakewharton.rxbinding2:rxbinding-design:2.0.0''recyclerview-v7'library bindings:
compile'com.jakewharton.rxbinding2:rxbinding-recyclerview-v7:2.0.0''leanback-v17'library bindings:
compile'com.jakewharton.rxbinding2:rxbinding-leanback-v17:2.0.0'
45.ListViewAnimations
一句話介紹:一款為ListView提供動展示畫效果能力的框架
上榜理由:如果有一天我承認自己老了,我還會排排我的兄弟——ListView搪搏,證明我和它一起戰(zhàn)斗過狭握。ListViewAnimations的存在就是證明我們這些“老年人”仍有用武之地,也許你有說不出口的難處疯溺,無法體會到RecyclerView里動畫的快樂论颅,擁有ListViewAnimations,你一樣可以驕傲的說囱嫩,我的孩子(每個item)也有自己的動效啦恃疯。(筆者備注 5.6K個star)
githubhttps://github.com/nhaarman/ListViewAnimations
作者:nhaarman
使用:
repositories {
mavenCentral()
}
dependencies {
compile'com.nhaarman.listviewanimations:lib-core:3.1.0@aar'compile'com.nhaarman.listviewanimations:lib-manipulation:3.1.0@aar'compile'com.nhaarman.listviewanimations:lib-core-slh:3.1.0@aar'}
46.UItimateRecyclerView
一句話介紹:一款提供刷新、加載更多墨闲、動畫特效等額外能力的RecyclerView框架
上榜理由:榜單上第三次出現(xiàn)RecyclerView的身影今妄,足以證明RecyclerView的優(yōu)異性,5.5K個star鸳碧,框架里所提供眾多的能力盾鳞,如果你是個功利開發(fā)者,那么此框架會為你節(jié)省很多學習時間杆兵,它可以完成多item式布局的大多數(shù)需求雁仲,值得注意的是,這個項目也是在其他項目的思路上二次開發(fā)的琐脏。
githubhttps://github.com/cymcsg/UltimateRecyclerView
作者:MarshalChen
使用:
repositories {
jcenter()
}
dependencies {
...
compile'com.marshalchen.ultimaterecyclerview:library:0.7.2'}
47.uCrop
一句話介紹:一款優(yōu)雅的圖片裁剪框架
上榜理由:5.3K個star攒砖,圖片編輯模塊單獨拎出來也是一款優(yōu)雅的App。
githubhttps://github.com/Yalantis/uCrop
作者:Yalantis
使用:
allprojects {
repositories {
jcenter()
maven { url"https://jitpack.io"}? }}
compile'com.github.yalantis:ucrop:2.2.1'
48.RxJava-Android-Samples
一句話介紹:一款介紹RxJava使用場景的app
上榜理由:榜單出現(xiàn)的第一個“僅僅為告訴你如何使用另一個項目”的開源項目日裙,它可以說是RxJava的用例吹艇,你想得到的想不到的RxJava用法這里都有,這就是為什么它以5.2k個star矗立在這份榜單里的原因昂拂。遺憾自己沒有創(chuàng)作這么一個受人追捧的demo受神?趕快動手寫個其他的“XX項目用例吧”
githubhttps://github.com/kaushikgopal/RxJava-Android-Samples
作者:kaushikgopal
使用:
clone到本地慢慢探索吧
49.AndroidAutoLayout
一句話介紹:一個提供適配能力的框架
上榜理由:5.2K個star,鴻洋老弟的作品格侯,適合小項目的開發(fā)團隊鼻听,拿到設計MM的px像素設計稿是不是很頭疼捏财著?這個框架一鍵式搞定你的問題,它有很多的不足撑碴,但在追求完美適配的路上撑教,你值得探索和了解它!筆者并不推薦把它應用到已經(jīng)成熟運行的項目中醉拓,畢竟市面上已經(jīng)有太多的適配解決方案了伟姐,適配問題就像是個大雜燴,想炒一盤好菜亿卤,就得備好各種佐料(適配小方案)鲤嫡,當你把各種小佐料用的爐火純青的時候燕酷,你離美食大廚就不遠了。
githubhttps://github.com/hongyangAndroid/AndroidAutoLayout
作者:張鴻洋
使用:
dependencies {
compile'com.zhy:autolayout:1.4.5'}
50.EffectiveAndroidUI
一句話介紹:一款講解高效展示UI的教學型App
上榜理由:編程新手很難對MVC MVP,MVVM等模式有深刻的理解,如果有一個示例型app挤安,那對初學者會有很大裨益搜吧,筆者在遇到它時也是相見恨晚围辙。4.8K個star股冗,證明了它經(jīng)受了廣大開發(fā)者的考驗與審視,其中Effective UI的編程思想更是與Android官方課程里的Effective UI課程不謀而合憋槐,并且双藕,此項目還包含了fragment、dagger阳仔、主題樣式忧陪、Butterknife等眾多小知識點,作為編程初學者的學習用例再適合不過了
githubhttps://github.com/pedrovgs/EffectiveAndroidUI
作者:Pedro Vicente
使用:
clone項目到本地
51.Luban
一句話介紹:最接近微信的圖片壓縮框架
上榜理由:好的思路總是可以讓你大放異彩近范,Luban僅以圖片壓縮單一功能嘶摊,俘獲了4.8K個star,證明了它在圖片壓縮上的造詣评矩,它可能不是最優(yōu)秀的叶堆,但它是讓你我最接近偉大的項目
githubhttps://github.com/Curzibn/Luban
作者:Curzibn
使用:
compile'top.zibin:Luban:1.1.1'
52.DroidPlugin
一句話介紹:一款熱門的插件化開發(fā)框架
上榜理由:4.8K個star,插件化框架榜單第一名斥杜,虱颗,360團隊出品,框架質(zhì)量有保證蔗喂,有成功案例——360手機助手忘渔,并且持續(xù)維護著
githubhttps://github.com/DroidPluginTeam/DroidPlugin/blob/master/readme_cn.md
作者:Andy Zhang
使用:
clone項目到本地
53. otto
一句話介紹:一款老舊且強大的事件總線框架
上榜理由:4.8K個star,是square團隊早先推出的事件響應型框架缰儿,淘寶app的事件驅(qū)動也是基于此框架封裝的畦粮,如今square已經(jīng)建議開發(fā)者采用RxJava RxAndroid來代替otto了。但otto仍有與EventBus橫向?qū)Ρ鹊膬r值,縱向來說宣赔,otto與square自家開發(fā)的Rx系列框架的差異同樣值得開發(fā)者們?nèi)ヌ骄俊?/p>
githubhttps://github.com/square/otto
作者:square
使用:
repositories {
mavenCentral()
maven { url"https://oss.sonatype.org/content/repositories/snapshots/"}
}
compile'com.michaelpardo:activeandroid:3.1.0-SNAPSHOT'
54.u2020
一句話介紹:一款提供Dagger的高級教學示例的app(額预麸,名字是有點繞)
上榜理由:4.7K個star,JakeWharton牽頭開發(fā)的教學類app儒将,教你使用Dagger在其他高級框架的用法师崎,它展示了Dagger與ButterKnife、Retrofit椅棺、Moshi、Picasso齐蔽、Okhttp两疚、RxJava、Timber含滴、Madge诱渤、LeakCanar等眾多優(yōu)秀框架結合起來的高級用法,你也可以借鑒到自己的項目當中
githubhttps://github.com/JakeWharton/u2020
作者:JakeWharton
55.buck
一句話介紹:buck是一個快速構建系統(tǒng)
上榜理由:facebook+google出身的作者谈况,對構建代碼的出色理解勺美,加上大型團隊的維護,以及增量更新時的快速高效碑韵,讓buck成為了微信Android團隊構建項目的首選赡茸,構建大型項目時,它比gradle更快祝闻,然而中小公司并不適合此框架占卧,但作為立志在框架設計領域有一番作為的人們,歡迎來一探究竟
官網(wǎng)地址:https://buckbuild.com/
githubhttps://github.com/facebook/buck
作者:facebook
使用:
linux or mac system? +docs
56.PermissionsDispatcher
一句話介紹:一款基于注解的提供解決運行時危險權限方案的框架
上榜理由:自Android6.0 Google提出危險權限一詞起联喘,用戶安全性被提到一定的高度华蜒,一些運行時對用戶較為危險的權限將不再自動被開發(fā)者獲取,需要經(jīng)過用戶批準豁遭,開發(fā)者才可以繼續(xù)使用該權限叭喜,如果你曾經(jīng)被權限問題搞的抓耳撓腮,建議你試試這個框架蓖谢,它足夠解決你的問題
官網(wǎng)地址:https://hotchemi.github.io/PermissionsDispatcher/
githubhttps://github.com/hotchemi/PermissionsDispatcher
作者:Shintaro Katafuchi
使用:
dependencies {
compile('com.github.hotchemi:permissionsdispatcher:${latest.version}') {exclude module:"support-v13"}
annotationProcessor'com.github.hotchemi:permissionsdispatcher-processor:${latest.version}'}repositories {
jcenter()
maven { url'http://oss.jfrog.org/artifactory/oss-snapshot-local/'}
}
57.android-gif-drawable
一句話介紹:一款提供展示GIF動畫能力的視圖框架
上榜理由:據(jù)我所查國內(nèi)著名App——知乎使用了android-gif-drawable捂蕴,因此證明了它的存在價值,盡管在榜單第十一位介紹了lottie-android直接應用AE動畫的示例闪幽,但AE設計師不是每個公司都配備的启绰,GIF的存在,就必然存在了展示GIF的需要沟使,它值得你擁有委可!
githubhttps://github.com/koral--/android-gif-drawable
作者:Karol Wrótniak
使用:
repositories {
mavenCentral()
maven { url"https://oss.sonatype.org/content/repositories/snapshots"}
}
dependencies {
compile'pl.droidsonroids.gif:android-gif-drawable:1.2.+'}
58.Apktool
一句話介紹:一款反編譯apk的工具
上榜理由:開源的反編譯工具,對于志在了解apk逆向破解的諸位,值得擁有着倾,4.5k個star拾酝,逆向破解apk神器!
githubhttps://github.com/iBotPeaches/Apktool
官網(wǎng)地址:https://ibotpeaches.github.io/Apktool/
作者:Connor Tumbleson
59.dynamic-load-apk
一句話介紹:插件化開發(fā)框架
上榜理由:4.5k個star卡者,位于插件化開發(fā)框架第二名(第一名來自360團隊)蒿囤,全面的文檔介紹讓你很快就能上手插件化開發(fā),如果你喜歡大段文字講解崇决,那么這個項目一定適合你
github:https://github.com/singwhatiwanna/dynamic-load-apk
作者:singwhatiwanna
使用:
github上的文檔配合作者博客更配喲
60.atlas
一句話介紹:淘寶推出的組件化開發(fā)框架
上榜理由:淘寶團隊所出的精品材诽,atlas框架提供了解耦、組件恒傻、動態(tài)的開發(fā)能力脸侥,4.5k個star讓他位列組件化開發(fā)框架第一名
githubhttps://github.com/alibaba/atlas
作者:alibaba
61.volley
一句話介紹:google推薦使用的Android端網(wǎng)絡請求框架
上榜理由:4.4k個star,并不是他不夠優(yōu)秀盈厘,而是使用volley已經(jīng)漸漸成為廣大開發(fā)者的習慣
github?https://github.com/google/volley(新版volley地址)
作者:google
使用:
clone源碼到本地
62.androidmvp
一句話介紹:一款展示Android端Mvp設計的demo
上榜理由:榜單里為數(shù)不多睁枕、僅憑展示某種設計模式就獲得4.2K個star的項目,如果你有嘗試mvp的打算沸手,androidmvp可以作為你的前哨站
githubhttps://github.com/antoniolg/androidmvp
作者:Antonio Leiva
使用:
clone到本地
63.SwipeBackLayout
一句話介紹:一款可以讓你通過滑動手勢關閉頁面的的框架
上榜理由:仿微信滑動退出當前聊天界面的效果外遇,提供了activity的滑動關閉能力,通過這種思路契吉,實現(xiàn)fragment的滑動關閉輕而易舉;筆者堅持建議諸位clone源碼到本地探索一番跳仿;4.2k個star證明很多人都喜愛它
githubhttps://github.com/ikew0ng/SwipeBackLayout
作者:ike_w0ng
使用:
compile'me.imid.swipebacklayout.lib:library:1.0.0'
64.FlycoTabLayout
一句話介紹:一款可以讓作出多種多樣指示器效果的框架
上榜理由:盡管我們沒有理由為了給app加入頁面指示器功能就集成2.5M的依賴庫,但是作為了解viewpager或swip views的指示器設計原理的優(yōu)秀框架捐晶,你值得打開它試試塔嬉,筆者建議單獨拆分所需源碼,加入到自己的項目中去租悄。4.1K個star谨究,二次開發(fā)的作品,仍然推薦泣棋!
githubhttps://github.com/H07000223/FlycoTabLayout
作者:Flyco
65.android-testing
一句話介紹:一款展示四大自動化測試框架用例的demo(Espresso胶哲,UiAutomator,AndroidJunitRunner潭辈,JUnit4)
上榜理由:學習者經(jīng)常會陷入似懂非懂的境地鸯屿,如果你有幸學習過Android Testing Support Library site的課程,那么你一定對android的四大測試框架迫不及待把敢,這款demo非常適合你寄摆,快來學習這個4.1k個star的明星項目吧
githubhttps://github.com/googlesamples/android-testing
作者:googlesampes團隊
66.FileDownloader
一句話介紹:一款高效、穩(wěn)定修赞、靈活婶恼、易用的文件下載引擎
上榜理由:4.1k證明了它有多受人喜愛桑阶,文件下載看似簡單的背后暗藏了多少的坑坑點點,我知道你有能力自己實現(xiàn)文件下載功能勾邦,但優(yōu)秀的框架可以提升你的設計編碼能力蚣录,這款框架可以提升你的實力!
githubhttps://github.com/lingochamp/FileDownloader
作者:LingoChamp團隊
使用:
dependencies {
compile'com.liulishuo.filedownloader:library:1.5.5'}
67.JieCaoVideoPlayer
一句話介紹:基于MediaPlayer api——VideoView 的多媒體播放框架
上榜理由:榜單里第三款多媒體播放框架眷篇,它以靈巧的身姿擠入本榜單萎河,精巧是它最大的優(yōu)點,不到100k蕉饼,擁有它虐杯,你就可以快速開發(fā)類似今日頭條那樣的視頻播放效果,4k個star昧港,證明它值得一試
githubhttps://github.com/lipangit/JieCaoVideoPlayer
作者:Nathen
使用:
compile'fm.jiecao:jiecaovideoplayer:5.5.4'
68.glide-transformations
一句話介紹:為眾多著名圖片加載框架提供圖片形狀變幻能力的框架
上榜理由:在榜單靠前的部分已經(jīng)介紹過glide擎椰,Picasso,F(xiàn)resco等圖片加載框架慨飘,glide-transformations就是一款為他們提供圖片變形能力的框架,使用起來非常簡單译荞,因此受到了大家的喜愛瓤的,github上有3.8K個star
githubhttps://github.com/wasabeef/glide-transformations
作者:Daichi Furiya
使用:
repositories {
jcenter()
}
dependencies {
compile'jp.wasabeef:glide-transformations:2.0.2'//If you want to use the GPU Filterscompile'jp.co.cyberagent.android.gpuimage:gpuimage-library:1.4.1'}
在Glide里設置變幻效果
Set Glide Transform.
Glide.with(this).load(R.drawable.demo)
.bitmapTransform(newBlurTransformation(context))
.into((ImageView) findViewById(R.id.image));
69.android-gpuimage
一句話介紹:一款基于OpenGL的圖片渲染引擎
上榜理由:放下GpuImage在IOS平臺的榮譽不談,Android版的android-gpuimage就提供多達70多種圖片渲染效果吞歼,你還在好奇美圖秀秀是如何實現(xiàn)圖片變幻的圈膏?有了它,一切都不是問題篙骡。如果你是美圖工具類的工程師稽坤,此框架的建設思路也會對你大有裨益。筆者也是通過android-gpuimage仿造了美圖App并俘獲女友芳心的糯俗,再次為它的實力點贊尿褪。ios版+android版一共19k個star,已經(jīng)證明了它的實力得湘,還在等什么呢杖玲?
github:https://github.com/CyberAgent/android-gpuimage
作者:CyberAgent 團隊
使用:
repositories {
jcenter()
}
dependencies {
compile'jp.co.cyberagent.android.gpuimage:gpuimage-library:1.4.1'}
更多的改造方法,還需要閱讀Ios的編程文檔淘正,對于有毅力的小伙伴強力推薦摆马!
70.RxPermissions
一句話介紹:一款基于RxJava完成權限申請的框架
上榜理由:榜單里第二款提供權服務的框架,基于RxJava的設計鸿吆,讓你可以專心寫業(yè)務囤采,3.7K個star已經(jīng)證明了它的實用價值
githubhttps://github.com/tbruyelle/RxPermissions
作者:Thomas Bruyelle
使用:
repositories {
jcenter()//If not already there}
dependencies {
compile'com.tbruyelle.rxpermissions:rxpermissions:0.9.4@aar'}
優(yōu)雅的使用:
RxPermissions rxPermissions =newRxPermissions(this);rxPermissions
.request(Manifest.permission.CAMERA)
.subscribe(granted->{if(granted) {//I can control the camera now}else{//Oups permission denied}
});
71.freeline
一句話介紹:一款動態(tài)替換的編譯構建框架
上榜理由:繼Facebook的Buck,Androdi官方的InstRun之后惩淳,螞蟻金服推出了Freeline編譯框架蕉毯,官網(wǎng)宣稱Freeline與業(yè)內(nèi)主流構建方式相比仍然有數(shù)倍的速度領先;排行有先后,編譯速度并不在本榜單排序的考據(jù)因素中,因此freeline以3.7個star恕刘,暫列編譯框架第二名
官網(wǎng)地址:https://www.freelinebuild.com/
github:https://github.com/alibaba/freeline
作者:alibaba
使用:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath'com.antfortune.freeline:gradle:0.8.7'}}
applyplugin:'com.antfortune.freeline'android {...
}
File → Settings... → Plugins → Browse repositories →freeline.
72.RxLifecycle
一句話介紹:一款提供在使用RxJava過程中管理Activity和Fragment生命周期能力的框架
上榜理由:在榜單靠前的部分缤谎,你已經(jīng)了解RxJava和RxAndroid的強大之處,但部分粗心的開發(fā)者因為沒有及時取消訂閱而產(chǎn)生嚴重的內(nèi)存泄漏褐着,不要擔心坷澡,RxLifecycle可以為你解決難題,在gtihub上擁有3.7K個star含蓉,國內(nèi)知名軟件——知乎和淘寶也都在使用它
githubhttps://github.com/trello/RxLifecycle
作者:trello團隊
使用:
clone源碼到本地
73.classyshark
一句話介紹:一款可執(zhí)行文件瀏覽器
上榜理由:榜單里繼Apktool之后第二款apk逆向工具频敛,如果你喜歡優(yōu)雅的圖形數(shù)據(jù)展示,那么你一定不能錯過他馅扣,classyshark可以將破解的結果以圖形化展示用戶斟赚,方便分析,3.7K個star差油,讓它暫列apk逆向工具第二位拗军!
githubhttps://github.com/google/android-classyshark
作者:google
使用:
下載JAR
74.acra
一句話介紹:一款提供記錄APP崩潰日志能力的框架
上榜理由:如果你面臨著收集APP崩潰日志的需求,那么acra是個不錯的選擇蓄喇。3.7K個star发侵,讓acra位列崩潰日志框架排行榜第一名,acra有足夠的能力記錄線上APP妆偏,并且發(fā)回服務端刃鳄,acra也提供了相當棒的崩潰日志統(tǒng)計服務端框架Acralyzer,cralyzer工作在Apache CouchDB之上钱骂,所以除了CouchDB之外叔锐,沒有必要安裝任何額外的軟件,移動端開發(fā)者也可以借此學習服務端的建設见秽,一舉兩得愉烙!
githubhttps://github.com/ACRA/acra
服務端githubhttps://github.com/ACRA/acralyzer
作者:acra團隊
使用:
沒有什么方法比clone源碼到本地更方便了
75.DiskLruCache
一句話介紹:一款提供磁盤文件緩存管理能力的框架
上榜理由:3.7k個star并不足以說明DiskLruCache的優(yōu)秀,僅僅以管理磁盤文件能力單獨拎出來成為一個框架解取,作者需要很大的勇氣齿梁,很幸運,作者做到了肮蛹,并且也成為Google官網(wǎng)提倡的緩存 ?勺择;如還記得上次做“一鍵清除緩存”、“查看緩存文件大小”功能是什么時候嗎伦忠?DiskLruCache一句話就可以搞定省核!
githubhttps://github.com/JakeWharton/DiskLruCache
作者:JakeWharton
使用:
compile'com.jakewharton:disklrucache:2.0.2'
或者下載latest .jar
76.dexposed
一句話介紹:一款支撐阿里大部分App客戶端熱修復、線上調(diào)試能力的框架
上榜理由:榜單上再次出現(xiàn)熱修復框架的身影昆码,證明App熱修復技術的火熱气忠,dexposed提供圖形化的性能監(jiān)控邻储、在線熱修復bug漏洞、支持AOP編程思想等旧噪,不論你是企業(yè)熱修復技術的設計者還是打算在熱修復領域一探究竟的新人吨娜,這款框架很適合你。3.5k個star淘钟,證明它作為一門技術框架的存在宦赠,是多么令人喜愛!
githubhttps://github.com/alibaba/dexposed
作者:alibaba
使用:
dependencies {
compile'com.taobao.android:dexposed:0.1.1@aar'}
77.Litho
一句話介紹:一款提供高效構建UI能力的框架
上榜理由:作為一款專門構建UI的框架米母,Litho高效的地方在于:單獨開辟了用于渲染和布局的線程勾扭,然后將創(chuàng)建好的組件傳遞給UI線程去完成最終的渲染,使用更少的視圖層級铁瞒,來提升界面的滾動速度妙色,值得注意的是,它僅支持開發(fā)者作出不可改變的UI組件,3.5K個star慧耍,證明了它在構建UI領域的價值身辨,更多的妙處,期待你親自去發(fā)掘芍碧!
githubhttps://github.com/facebook/litho
作者:facebook
使用:
ependencies {//...//Lithocompile'com.facebook.litho:litho-core:0.3.1'compile'com.facebook.litho:litho-widget:0.3.1'provided'com.facebook.litho:litho-annotations:0.3.1'annotationProcessor'com.facebook.litho:litho-processor:0.3.1'//SoLoadercompile'com.facebook.soloader:soloader:0.2.0'//Optional//For debuggingdebugCompile'com.facebook.litho:litho-stetho:0.3.1'//For integration with Frescocompile'com.facebook.litho:litho-fresco:0.3.1'//For testingtestCompile'com.facebook.litho:litho-testing:0.3.1'}
78.mosby
一句話介紹:一款提供構建MVP項目能力的框架
上榜理由:榜單靠前的部分已經(jīng)介紹了MVC,MVVM,MVP的框架項目煌珊,想必此時你在構建企業(yè)項目架構上,選擇或者開發(fā)一款合適的MVP框架迫在眉睫师枣,mosby可以作為你的第一步參考怪瓶,你可以封裝它萧落,也可以照抄它践美,無論如何,3.4K個star找岖,證明了它在框架設計上有多受開發(fā)者的喜愛
githubhttps://github.com/sockeqwe/mosby
作者:Hannes Dorfmann
使用:
dependencies {
compile'com.hannesdorfmann.mosby3:mvi:3.0.4'//Model-View-Intent//orcompile'com.hannesdorfmann.mosby3:mvp:3.0.4'//Plain MVP//orcompile'com.hannesdorfmann.mosby3:viewstate:3.0.4'//MVP + ViewState support}
allprojects {? repositories {...? ? maven { url"https://oss.sonatype.org/content/repositories/snapshots/" }
}
79.AndResGuard
一句話介紹:一款提供資源文件路徑混淆 的工具
上榜理由:如果你是個對APK大小很敏感的人陨倡,那么AndResGuard一定適合你,它的原理類似Java Proguard许布,但是只針對資源兴革。他會將原本冗長的資源路徑變短,例如將res/drawable/wechat變?yōu)閞/d/a蜜唾,3.4K個star杂曲,證明了在優(yōu)化APK道路上,你不是一個人在戰(zhàn)斗袁余!
githubhttps://github.com/shwenzhang/AndResGuard
作者:wechat team
使用:
clone項目到本地擎勘,其實也就是個三兩句話的文檔
80.StatusBarUtil
一句話介紹:一款提供設置沉浸式狀態(tài)欄樣式能力的框架
上榜理由:設計師MM總是抱怨系統(tǒng)狀態(tài)欄不優(yōu)雅?那就給她一個完美的沉浸式狀態(tài)欄颖榜。StatusBarUtil可以隨心所欲的設置狀態(tài)欄樣式棚饵,3.3K個star煤裙,足以說明它有多受設計MM的喜愛
githubhttps://github.com/laobie/StatusBarUtil
作者:Jaeger
使用:
compile'com.jaeger.statusbarutil:library:1.4.0'
81.robolectric
一句話介紹:一款不依賴于Android設備的單元測試框架,
上榜理由:sample中列舉了如何對Android四大組件和常見功能測試的用例噪漾,3.2K個star硼砰,值得充滿好奇心的人嘗試
官網(wǎng)地址:http://robolectric.org/
githubhttps://github.com/robolectric/robolectric
作者:robolectric
使用:
testCompile"org.robolectric:robolectric:3.3.2"
82.Fragmentation
一句話介紹:一款提供管理Fragmen嵌套t能力的框架
上榜理由:對于Activity和Fragment使用,你一定得心應手,但如果要做一套通用的Activity&Fragment嵌套設計菠秒,想必你有點手足無措了荆烈,F(xiàn)ragmentation可以作為你設計Fragment管理上的第一步,3.2K個star遍愿,筆者認為有點名副其實了,項目介紹里說的是Fragment的管理能力耘斩,但并未提供Fragment&Activity生命周期沼填、任務棧的管理能力,因此很難直接應用到企業(yè)項目當中括授,但源碼當中的設計思路坞笙,值得筆者與諸位借鑒,拾人牙慧留有余香荚虚!
github:https://github.com/YoKeyword/Fragmentation
作者:YoKey
使用:
//appcompat v7包是必須的compile'me.yokeyword:fragmentation:0.10.7'//如果想使用SwipeBack 滑動邊緣退出Fragment/Activity功能薛夜,請再添加下面的庫//compile 'me.yokeyword:fragmentation-swipeback:0.10.4'
83.Small
一句話介紹:輕巧的插件化框架
上榜理由:作為插件框架榜單的新成員,Small的優(yōu)點是輕巧版述,適合作為小團隊的插件開發(fā)方案梯澜,3.1K個star,讓它獲得了酷狗音樂等著名開發(fā)團隊的青睞渴析,如果你們的團隊想逐步實施插件化開發(fā)晚伙,Small是個不錯的選擇!
官網(wǎng)地址:http://code.wequick.net/Small/cn/cases
githubhttps://github.com/wequick/Small
作者:wequick 團隊
使用:
buildscript? {
dependencies {
classpath'net.wequick.tools.build:gradle-small:1.2.0-alpha6'}
}
apply plugin:'net.wequick.small'small {
aarVersion='1.2.0-alpha6'}
84.JsBridge
一句話介紹:一款提供WebView和Javascript通信能力的框架
上榜理由:該框架提供給了允許H5頁面調(diào)用通過JS調(diào)用App方法的能力俭茧;3.1K個star咆疗,簡潔的通訊方式,值得每一個Web\Hybrid App開發(fā)者嘗試
gtihubhttps://github.com/lzyzsd/JsBridge
作者:hi大頭鬼hi
使用:
repositories {//...maven { url"https://jitpack.io"}
}
dependencies {
compile'com.github.lzyzsd:jsbridge:1.0.4'}
85.richeditor-android
一句話介紹:一款強大的富文本編輯框架
上榜理由:2.8k個star母债,榜單里第一個為TextView提供擴展能力的框架午磁,你暫時不需要它,但不能不知道它
githubhttps://github.com/wasabeef/richeditor-android
作者:Daichi Furiya
使用:
repositories {
jcenter()
}
dependencies {
compile'jp.wasabeef:richeditor-android:1.2.2'}
86.Transitions-Everywhere
一句話介紹:一款教你正確使用Transitions API(Android 轉場動畫API)的教學型項目
上榜理由:你可能還未嘗試過Android API的Transitions 框架毡们,可能聽過迅皇,但卻無法做出優(yōu)雅奇妙的動效——別擔心,Transitions-Everywhere正如它的名字一樣衙熔,它將帶你全面體驗Transitions 的強大之處
githubhttps://github.com/andkulikov/Transitions-Everywhere
作者:Andrey Kulikov
使用:
dependencies {
compile"com.andkulikov:transitionseverywhere:1.7.4"}
87.android-viewbadger
一句話介紹:能夠快速的為Android 視圖加入“勛章”能力的框架
上榜理由:如果說勛章一詞聽起來陌生登颓,那么顯示已讀未讀個數(shù)、小紅點標記信息這一類詞語你一定不太陌生青责,筆者相信在諸位實際開發(fā)中經(jīng)常遇到為某些item加入小紅點標記的需求挺据,聰明的各位一定有著各種實現(xiàn)方案取具,為什么不能快速優(yōu)雅的完成呢?android-viewbadger可以幫你實現(xiàn)扁耐,當然暇检,在某些情況下,你需要具備修改源碼的能力婉称,以符合設計MM的需求块仆!值得注意的是,這寬項目已經(jīng)五年沒有更新了王暗!
githubhttps://github.com/jgilfelt/android-viewbadger
作者:Jeff Gilfelt
使用:
clone源碼到本地
View target =findViewById(R.id.target_view);
BadgeView badge=newBadgeView(this, target);
badge.setText("1");
badge.show();
88.AndroidWiFiADB
一句話介紹:一款不用數(shù)據(jù)線也可以讓你調(diào)試手機設備APP的插件項目
上榜理由:你是否還在擔心測試過程中高強度的拔插數(shù)據(jù)線對手機電池和USB端口造成終生難以彌補的損害悔据?別擔心,有wifi有AndroidWiFiADB俗壹,無須數(shù)據(jù)線也可以調(diào)試應用了科汗,更有趣的是,在測試工程師一邊拿著手機一邊找你聊bug的時候绷雏,你已經(jīng)偷偷在它的手機上修復了bug头滔,深藏功與名!
githubhttps://github.com/pedrovgs/AndroidWiFiADB
作者:Pedro Vicente Gómez Sánchez
使用:
Preferences/Settings->Plugins->Browse Repositories->serch AndroidWiFiADB
889.emojicon
一句話介紹:一款提供在TextView涎显、EdiText展示表情包能力的框架
上榜理由:2.7k個star坤检,,榜單第二款增強TextView顯示能力的框架,這款專為表情包設計期吓,如果你曾經(jīng)好奇微信早歇、QQ的表情顯示是如何做到的?這款框架一定能滿足你的求知欲讨勤。
90.packer-ng-plugin
一句話介紹:一款打爆工具插件
上榜利用:筆者盡力維護榜單涉及范圍的全面性箭跳,因此引入此插件項目——項目號稱完成100個渠道包只需要10秒鐘,在市面上各種各樣多渠道打包方案的今天悬襟,選擇一款適合自己團隊的衅码,才是上上選擇
githubhttps://github.com/mcxiaoke/packer-ng-plugin
作者:Xiaoke Zhang
使用:
buildscript {
......
dependencies{//add packer-ngclasspath'com.mcxiaoke.gradle:packer-ng:1.0.9'}
}
apply plugin:'packer'dependencies {
compile'com.mcxiaoke.gradle:packer-helper:1.0.9'}
android {//...signingConfigs {
release {//滿足下面兩個條件時需要此配置//1. Gradle版本 >= 2.14.1//2. Android Gradle Plugin 版本 >= 2.2.0//作用是只使用舊版簽名拯刁,禁用V2版簽名模式v2SigningEnabledfalse}
}
}
91.android-priority-jobqueue
一句話介紹:一款提供后臺任務管理能力的框架
上榜理由:如果你是個志在深入研究多線程操作的開發(fā)者脊岳,這個項目一定不要錯過,不論是Activity重新加載垛玻、Service使用線程池時的任務優(yōu)先級和并發(fā)問題割捅,都不要擔心,Job Manage會照顧優(yōu)先級帚桩,持久性亿驾,負載平衡,延遲账嚎,網(wǎng)絡控制莫瞬,分組儡蔓,2.4K個star,優(yōu)秀的多線程管理能力疼邀,況且它依賴的第三方框架很少喂江,值得你一試
githubhttps://github.com/yigit/android-priority-jobqueue
作者:Yigit Boyar
92.Android-Debug-Database
一句話介紹:一款提供測試App內(nèi)部數(shù)據(jù)庫能力的框架
上榜理由:榜單里第二款針對調(diào)試數(shù)據(jù)庫的框架,一行代碼集成旁振,直接在瀏覽器增刪改查App的數(shù)據(jù)庫获询,2.3k個star,心動不如行動拐袜!
githubhttps://github.com/amitshekhariitbhu/Android-Debug-Database
作者:AMIT SHEKHAR
使用:
debugCompile'com.amitshekhar.android:debug-db:1.0.0'
瀏覽器鍵入
http://XXX.XXX.X.XXX:8080
93.conceal
一句話介紹:一款facebook提供的加密本地大文件的框架
上榜理由:如果還在擔心App內(nèi)的圖片的隱私問題吉嚣,這款facebook提供的文件加密框架足以解決你的問題,facebook客戶端的圖片和數(shù)據(jù)都是使用conceal加密的
官網(wǎng)地址:http://facebook.github.io/conceal/
githubhttps://github.com/facebook/conceal
作者;facebook
使用:
clone項目到本地/官網(wǎng)下載jar
94.ARouter
一句話介紹:一款提供服務蹬铺、頁面跳轉路由的框架
上榜理由:正如作者宣稱的那樣尝哆,該框架提供:從外部URL映射到內(nèi)部頁面、跨模塊的頁面跳轉(頁面解耦)甜攀、攔截跳轉過程等能力较解,還有更多功能等你去發(fā)掘,2.1K個star赴邻,值得為企業(yè)級的框架喝彩
githubhttps://github.com/alibaba/ARouter
作者:alibaba
使用:
ndroid {
defaultConfig {
...
javaCompileOptions {
annotationProcessorOptions {
arguments=[ moduleName : project.getName() ]
}
}
}
}
dependencies {//替換成最新版本, 需要注意的是api//要與compiler匹配使用印衔,均使用最新版可以保證兼容compile'com.alibaba:arouter-api:x.x.x'annotationProcessor'com.alibaba:arouter-compiler:x.x.x'...
}//舊版本gradle插件(< 2.2),可以使用apt插件姥敛,配置方法見文末'其他#4'//Kotlin配置參考文末'其他#5'
95.MagicaSakura
一句話介紹:一款提供多主題切換能力的框架
上榜理由:框架所提供的能力奸焙,一直是本榜單所看重的,這款由bilibili提供的多主題框架彤敛,作為榜單所涉及范圍能補充与帆,1.9個star,感謝bilibili團隊所作出的貢獻墨榄!
githubhttps://github.com/Bilibili/MagicaSakura
作者:Bilibili
使用:
compile'com.bilibili:magicasakura:0.1.6@aar'
96.CustomActivityOnCrash
一句話介紹:一款當APP crash的時候自動載入某個Activity的框架(而不是顯示Unfortunately, X has stopped)
上榜理由:新奇的創(chuàng)意是榜單所需要的玄糟,所以它贏得了1.8K個star;作為開發(fā)者應該擁有考慮到各種潛伏的bug的能力袄秩,但我們不能總是面面俱到阵翎,其他系統(tǒng)端的同事也可能造成程序的意外crash,因此之剧,如何讓程序優(yōu)雅的crash->重啟值得我們思考郭卫,這款框架就提供了這種能力
githubhttps://github.com/Ereza/CustomActivityOnCrash
作者:Eduard Ereza Martínez
使用:
dependencies {
compile'cat.ereza:customactivityoncrash:2.1.0'}
添加到 Application class:
@OverridepublicvoidonCreate() {
super.onCreate();
CaocConfig.Builder.create()
.backgroundMode(CaocConfig.BACKGROUND_MODE_SILENT).enabled(false)//default: true.showErrorDetails(false)//default: true.showRestartButton(false)//default: true.trackActivities(true)//default: false.minTimeBetweenCrashesMs(2000)//default: 3000.errorDrawable(R.drawable.ic_custom_drawable)//default: bug image.restartActivity(YourCustomActivity.class)//default: null (your app's launch activity).errorActivity(YourCustomErrorActivity.class)//default: null (default error activity).eventListener(newYourCustomEventListener())//default: null.apply();
}
97.XhsEmoticonsKeyboard
一句話介紹:最開心的開源表情解決方案
上榜理由:如果你還在發(fā)愁如何為你的APP自制鍵盤,那么此框架非常適合你背稼,而且還提供表情包展示能力贰军,1.7個star證明了它的獨特。此外作者還附贈了高仿微信鍵盤蟹肘,QQ鍵盤的demo词疼,分享給諸位
githubhttps://github.com/w446108264/XhsEmoticonsKeyboard
作者:zhongdaxia
使用:
allprojects {
repositories {
jcenter()
maven { url"https://jitpack.io"}
}
}
dependencies {
compile'com.github.w446108264:XhsEmoticonsKeyboard:2.0.4'}
三.完整項目
1.iosche
一句話介紹:谷歌2016開發(fā)者大會的展示項目
上榜理由:github上有13.4k個star俯树,位居企業(yè)級項目排行榜第一位,牛逼的開發(fā)者贰盗,權威的設計模式聘萨,標準的項目寫法,值得一試童太;筆者建議初學者down下源碼米辐,找到app入口,每個頁面走一通书释,配合設計模式的概念加深理解翘贮。
githubhttps://github.com/google/iosched
作者: Google
2.Plaid
一句話介紹:提供設計新聞和靈感的開源app
上榜理由:標準的material design設計,新聞類app爆惧,github上9k的star量值得你摒棄市面上參差不齊的新聞app狸页,快點下手研究它吧!
githubhttps://github.com/nickbutcher/plaid
作者:?Nick Butcher
3.PocketHub
一句話介紹:Github的Android版
上榜理由:8.7K的star數(shù)量扯再,Github的親生兒子芍耘,開放的源碼值得各位一探究竟
githubhttps://github.com/pockethub/PocketHub
作者:Fadil Sutomo
使用:
down下所有源碼
4.Signal Android
一句話介紹:Signal是一款安全通訊的短信類app,
上榜理由:7.9K的star數(shù)量熄阻,工具類app的標簽屬性斋竞,讓它在排行榜中獨一無二,如果你對短信app有興趣秃殉,可以深入探究一番
githubhttps://github.com/WhisperSystems/Signal-Android
作者:WhisperSystems
使用:github上down源碼
5.android-UniversalMusicPlayer
一句話介紹:一款跨設備運行的多媒體app
上榜理由:googlesamples良心推薦坝初,github擁有7.9k個star,可以在Android手機钾军,汽車鳄袍,平板,穿戴設備上使用吏恭,對于僅僅體驗過Android手機開發(fā)的程序員拗小,會不會很新奇呢?你值得一試樱哼!
githubhttps://github.com/googlesamples/android-UniversalMusicPlayer
作者:Google
使用:github上down源碼
6.HomeMirror
一句話介紹:如果你是個愛美的家伙那么你一定需要這面鏡子哀九!
上榜理由:工具類App很難再github上有一席之地,除非它提供特別新奇的功能唇礁,比如HomeMirror勾栗,github上有用7599個star惨篱,僅僅因為它提供了鏡子的功能盏筐。從現(xiàn)在起,Android 手機砸讳、pad琢融,都將成為你旅游居家神器界牡,值得擁有!
githubhttps://github.com/HannahMitt/HomeMirror
作者:Hannah Mittens
HomeMirror初體驗:
7.ExoPlayer
一句話介紹:一款 替代Android原生MediaPlayer的媒體播放器
上榜理由:也許是Google對自家MediaPlayer API不甚滿意漾抬,所以誕生了ExoPlayer宿亡,ExoPlayer提供了強大的擴展API,使用它來制作多媒體播放器更快捷纳令,更容易擴展挽荠,對多媒體播放器感興趣的同仁們可以用它來大展身手了!6.9K個star平绩,證明它有多受開發(fā)者們喜愛圈匆,更難能可貴的是,google還在更新維護著捏雌!
官網(wǎng)地址:https://google.github.io/ExoPlayer/
githubhttps://github.com/google/ExoPlayer
作者:google
使用:
repositories {
jcenter()
}
compile'com.google.android.exoplayer:exoplayer:r2.X.X'compile'com.google.android.exoplayer:exoplayer-core:r2.X.X'compile'com.google.android.exoplayer:exoplayer-dash:r2.X.X'compile'com.google.android.exoplayer:exoplayer-ui:r2.X.X'
8.cheesesquare
一句話介紹:Android 材料設計的展示性項目
上榜理由:作者被稱為是Android Support Lib背后的男人跃赚,他寫出的展示性項目,怎能不推薦上榜性湿?材料設計已經(jīng)炒了好幾年了纬傲,但作為最權威的展示項目,你一定需要它肤频,6.7個star證明了它是多么的受歡迎叹括。
githubhttps://github.com/chrisbanes/cheesesquare
作者:Chris Banes
9.DanmakuFlameMaster
一句話介紹:android端開源彈幕引擎
上榜理由:bilibili出品,保證了它的純種品質(zhì)宵荒,并且ndk源碼也一并開源领猾,可謂業(yè)界良心,該彈幕引擎的開源節(jié)省了很多視頻直播小伙伴的開發(fā)成本骇扇,筆者強力推薦摔竿!
githubhttps://github.com/Bilibili/DanmakuFlameMaster
作者:bilibili
使用:
repositories {
jcenter()
}
dependencies {
compile'com.github.ctiao:DanmakuFlameMaster:0.8.3'compile'com.github.ctiao:ndkbitmap-armv7a:0.8.3'# Other ABIs: optional
compile'com.github.ctiao:ndkbitmap-armv5:0.8.3'compile'com.github.ctiao:ndkbitmap-x86:0.8.3'}
10.facebook-android-sdk
一句話介紹:一款提供接入facebook平臺能力的框架
上榜理由:無論是你有接入facebook的需求,還是有學習自制sdk的需求少孝,這都是很棒的途徑继低;如何開發(fā)一套企業(yè)級sdk,是進階優(yōu)秀開發(fā)工程師的必須之路稍走,4.1k個star袁翁,facebook持久更新質(zhì)量保證,你值得擁有婿脸!
githubhttps://github.com/facebook/facebook-android-sdk
作者:facebook
使用:
https://developers.facebook.com/docs/android
11.android-oss
一句話介紹:國外創(chuàng)意社區(qū)Kickstarter 開源的Android版客戶端
上榜理由:精致的企業(yè)級APP粱胜,每個頁面處理得都很棒,如果你志在成為一個優(yōu)雅工程師狐树,這款開源項目一定適合你焙压,3.8k個star證明了它不俗的生命力
github:https://github.com/kickstarter/android-oss
作者:kickstarter
使用;
clone源碼到本地
12.k-9
一句話介紹:Android端客戶端郵件App
上榜理由:還記得張小龍的成名作——FoxMail嗎?如果你想做一款移動端Email App,k-9具有很好的借鑒價值涯曲,此外對于應用層協(xié)議你也會有更深的認識
官網(wǎng)地址:https://k9mail.github.io/
githubhttps://github.com/k9mail/k-9
使用:
clone項目到本地
13.Timber
一句話介紹:一款音樂播放器類App
上榜理由:3K個star野哭,完全按照材料設計規(guī)范,提供十幾種播放特性幻件,而且還提供App的通用設置能力拨黔,這一點做的同樣優(yōu)秀,對于志在提升開發(fā)技術的同學值得一試
githubhttps://github.com/naman14/Timber
作者:Naman Dwivedi
使用:
clone源碼是一個好習慣
14.remusic
一句話介紹:仿網(wǎng)易云音樂Android版App
上榜理由:學習完Timer绰沥,是否還不太滿足你的胃口篱蝇?remusic可以滿足你的胃口——它甚至可以拿去直接當上線項目了!2.9K個star徽曲,基于Timber的設計(入手的前提是先搞懂Timber)值得入手态兴;有一個問題:如果由你重構,你會如何做呢疟位?
githubhttps://github.com/aa112901/remusic
作者:MW
使用:
clone項目
15.Douya
一句話介紹:開源豆瓣客戶端
上榜理由:一款功能全面瞻润、架構設計不俗的開源APP;僅僅是對豆瓣APP設計思路不滿而進行的重構項目甜刻,可見作者對產(chǎn)品的癡迷和熱愛绍撞,2.9K個star,證明該項目并不是頭腦發(fā)熱一時興起的作品得院,如果每一個idea都能實現(xiàn)傻铣,那我們的世界將會多么美妙!
githubhttps://github.com/DreaminginCodeZH/Douya
作者:Zhang Hai
使用:
clone項目到本地
16.BookReader
一句話介紹:開源小說閱讀器
上榜理由:2.7K個star祥绞,榜單里第一款閱讀器APP非洲,具有很高的學習價值(針對有興趣往閱讀工具類方向發(fā)展的同學)
githubhttps://github.com/JustWayward/BookReader
作者:JustWayward 團隊
使用:
clone到本地
17.bilibili-android-client
一句話介紹:高仿bilibili的Android客戶端
上榜理由:2.5K個star,榜單里第一款視頻直播開源App蜕径;適合對視頻直播两踏、社區(qū)互動感興趣的同學;bilibili-android-client里使用了很多大型框架兜喻,此項目并不適合基礎薄弱的同學梦染,不要灰心,學習頁面的布局設計也是值得的朴皆!
githubhttps://github.com/HotBitmapGG/bilibili-android-client
作者:Hcc
使用:clone到本地
18.AndroidChromium
一句話介紹:Android版chrome瀏覽器
上榜理由:正如作者宣稱的那樣:
谷歌瀏覽器安卓版源碼項目
世界級的安卓架構
理清本項目業(yè)務邏輯完全可以勝任國內(nèi)一線公司工程師
對于志在梳理瀏覽器框架的你帕识,值得擁有
githubhttps://github.com/JackyAndroid/AndroidChromium
作者:JackYAndroid
使用:
clone源碼到本地
四.開發(fā)框架:
(排名無先后、只按類型劃分)
一句話介紹:一款跨平臺的android端游戲開發(fā)框架
上榜理由:android端開發(fā)框架類第一名遂铡,11.7K的star量肮疗,游戲框架是它的專屬標簽,更重要的是它是跨平臺的
官網(wǎng)地址http://libgdx.badlogicgames.com/
githubhttps://github.com/libgdx/libgdx
2.xUtils
一句話介紹:老牌企業(yè)級開發(fā)框架
上榜理由:4.9K個star扒接,xUtils作為上古時期程序員備受推崇的開發(fā)框架伪货,最大的原因——省事们衙。xUtls包含四大模塊,與之而來的是提供四大操作能力:數(shù)據(jù)操作超歌、UI操作砍艾、Http協(xié)議操作蒂教、圖片操作巍举。xUtils作為筆者初學Android框架設計的導師型項目,在筆者多年經(jīng)驗中凝垛,看到xUtils作為眾多中小銀行Android端框架方案首選懊悯,足以證明它的受歡迎程度。該框架現(xiàn)在已經(jīng)更新到了xUtils3梦皮,如果你對Android框架涉及有一定的想法炭分,可以從xUtils入手,進階為框架大師行列剑肯。雖然框架中很多引擎已經(jīng)過時捧毛,各個模塊的做法都可以用其他框架替代,但xUtils作為國內(nèi)開發(fā)者的驕傲让网,上古時期的框架寵兒呀忧,值得你擁有!
githubhttps://github.com/wyouflf/xUtils
作者:wyouflf
使用:
compile'org.xutils:xutils:3.5.0'
3.android-common
一句話介紹: 一款android快速開發(fā)框架
上榜理由:滴滴資深級Android工程師出品溃睹,歷經(jīng)多年開發(fā)者的檢驗而账,以4.3K屹立于快速開發(fā)框架榜第三名,該框架提供了圖片緩存因篇、Http緩存泞辐、DropDownListView、下載模塊竞滓、開發(fā)常用工具類等咐吼,作為上古時期程序員最早的總結性開發(fā)框架,它是一代人智慧的結晶商佑,值得我們?yōu)樽髡逿rinea鼓掌喝彩
github ?https://github.com/Trinea/android-common
作者:Trinea
使用:
clone代碼到本地
4.Vitamio
一句話介紹:一款支持跨平臺的Android多媒體開發(fā)框架
上榜理由:如果之前提到的exoplayer不能滿足你開發(fā)多媒體的需求汽烦,那我保證vitamio值得你一試
官網(wǎng)地址:https://www.vitamio.org/
githubhttps://github.com/yixia/VitamioBundle
作者:yixia團隊
使用:
clone源碼到本地
5.Weex
一句話介紹:移動端跨平臺開發(fā)的解決方案
上榜理由:14.4K個star,有成熟應用案例的企業(yè)級混合開發(fā)框架莉御,阿里巴巴出品撇吞,為什么不試試呢?
官網(wǎng)地址:https://weex.apache.org/cn/
githubhttps://github.com/alibaba/weex
作者:alibaba
6.cordova-android(Hybrid 開發(fā)框架礁叔、WebApp開發(fā)框架)
一句話介紹:跨平臺的開發(fā)框架
上榜理由:cordova有足夠的能力完成混合開發(fā)牍颈、WebApp開發(fā)的需求:不論你是Web開發(fā)者,或者是Native開發(fā)者琅关,使用cordova都可以作出跨平臺的App
官網(wǎng)地址:http://cordova.axuer.com/docs/zh-cn/latest/guide/overview/index.html
githubhttps://github.com/apache/cordova-android
7.react-native
一句話介紹:一款以Javascript的語言來操作多個系統(tǒng)語言(Ios煮岁、Android)的框架
上榜理由:很難講react-native屬于什么類別醒颖,它適合前端工程師開發(fā)移動端App,也適合Native開發(fā)者進行跨平臺的開發(fā)锹引,但對于Navitve開發(fā)者來說陡峭的學習曲線會嚇走一大批“框架愛好者”系任;前端界有一句名言:Web代表著未來,Native代表著現(xiàn)在步氏,而我們處在現(xiàn)在與未來的道路上响禽;49K個star,似乎讓我們離未來更進一步
官網(wǎng)地址:http://facebook.github.io/react-native/docs/getting-started.html
githubhttps://github.com/facebook/react-native
作者:facebook
五.其他:
1.AndroidUtilCode
一句話介紹:提供了數(shù)量龐大的工具類
上榜理由:10.8K的star個數(shù)荚醒,足以證明它是多么受歡迎芋类,歡迎你提供常用的工具類壯大它!
githubhttps://github.com/Blankj/AndroidUtilCode/blob/master/README-CN.md
File → Settings... → Plugins → Browse repositories...
and search forfreeline.
2.kotiln
一句話介紹:Google推出的Android編程語言
上榜理由:就像AndroidStudio取代Eclipse那樣界阁,Goolg將kotiln作為Android的官網(wǎng)語言侯繁,也許是為了避免同Oracle的專利訴訟,但kotlin 100%兼容java泡躯,大幅精簡java代碼量贮竟,以及函數(shù)式編程的思想這些優(yōu)異的特性同意值得我們注意,還記得在榜單之前說過的嗎较剃?未來是kotlin的咕别,當下是java的,但我們處在當下通往未來的道路上——學習未來的編程語言重付,提升自己的工作效率顷级,早點下班打豆豆,何樂而不為确垫?
官網(wǎng)地址:http://kotlinlang.org/
github:https://github.com/JetBrains/kotlin
使用:
http://kotlinlang.org/docs/reference/提供了 api-android用例-書籍等資源
六.書籍類項目
(排序無先后)
1.Android developer中國官網(wǎng)培訓課程
一句話介紹:符合中國國情的Google開發(fā)者官網(wǎng)的子產(chǎn)品——Android開發(fā)者官網(wǎng)
上榜理由:這里有培訓課程弓颈、API用例課程、Sample用例删掀、依賴庫介紹翔冀、AndroidStudio官網(wǎng)...等等一系列公開免費的課程,盡管大部分內(nèi)容還是英文講解披泪,可是你肯靠著英語詞典一篇一篇啃完纤子,相信我,你的Android知識水平將秒殺國內(nèi)市面上大部分的Android書籍
官網(wǎng)地址:https://developer.android.google.cn/training/index.html
作者:google
2.android-architecture
一句話介紹:google提供的Android當下各種基本框架
上榜理由:看完它款票,mvp控硼,mvvm都將入切瓜砍菜,秋風掃落葉一般...
githubhttps://github.com/googlesamples/android-architecture
作者:google
3.andorid-open-project
一句話介紹:囊括Android幾乎所有的開源項目的導航類目錄
上榜理由:23k個star的導航類目錄艾少,與其盛名不符的是卡乾,該項目的導航、瀏覽閱讀體驗做的非常差缚够,建議消遣之余閱讀幔妨;推薦理由——中國人做的最全的Android 開源項目導航目錄
githubhttps://github.com/Trinea/android-open-project
作者:Trinea
4.awesome-android-ui
一句話介紹:Android的開源項目目錄
上榜理由:國外的一款導航目錄鹦赎,23k個star
githubhttps://github.com/wasabeef/awesome-android-ui
筆者寄語:
今年我們的權威框架之旅就結束了,是否感覺到意猶未盡误堡?那太好了古话,歡迎各位讀者加入《Android百大框架排行榜》的討論之中,可以來文章原文的底部評論留言锁施,參與討論:
1.我認為XX框架應該上榜陪踩,理由XX
2.我發(fā)現(xiàn)文章有幾處錯誤,在XX部分
3.對于筆者的某些觀點我不能茍同沾谜,比如XX膊毁,我認為XX
...
筆者希望收到有理有據(jù)的評論和未上榜的框架推薦胀莹,屆時筆者會抽取一部分參與評論的小伙伴將基跑,發(fā)放共計100RMB的物質(zhì)獎勵!
2017-06-19 ??北京