2017年Android百大框架排行榜(轉)

一.榜單介紹

排行榜包括四大類:html

單一框架:僅提供路由、網絡層、UI層、通訊層或其餘單一功能的框架前端

混合開發框架:提供開發hybrid app、h5與webview結合能力、web app能力的框架java

企業級開源項目:能夠獨立運行的app,有極高的學習價值、思路借鑑意義react

書籍類開源項目:相似Open-sourc-project這樣的導航類項目;大型公司的Android課程的學習目錄 tipslinux

 

榜單排序依據:android

1.項目開源ios

2.github上該項目的star個數git

3.開發團隊、做者的實力程序員

 

爲了保證榜單內容的多樣性,榜單上儘量的不重複同類型框架(好比多款listview加強框架)github

 

適用讀者範圍:

  • 正在入門Android的新手~~~Android初級開發工程師  初出茅廬

  熟讀《書籍導航類項目排行榜》,勤加練習進步會更大;編譯運行並動腦思考《企業級開源項目》中的案例,能夠提高開發完整項目的能力;;略讀《框架百大排行榜》,最大的做用是的是拓展視野,能夠看到不少時下流行的名詞概念術語

  • Android初級開發工程師~~~中級開發工程師    知其然知其因此然

  熟練、快速、高效的默寫出《企業級開源項目》中的(本身感興趣)典型案例,對提升書寫代碼的自信,提高項目功能總體設計能力;深究《框架百大排行榜》排名靠前框架的原理,會讓本身在與家人、同事、同窗聚會之時多了一些炫耀的資本;若是你能熟練運用《框架百大排行榜》裏所提到的框架,在遇到某種需求的時候,馬上會拿出「最優秀的框架」去解決,意味着你離中級工程師不太遠了

  • 中級、高級、資深工程師   知其然知其不可然

   《框架百大排行榜》裏所提到的流行詞、流行術語——使用能力、融會貫通其原理、講解框架能力的高低,將讓你不斷的在這三個級別徘徊;

   會有意識的合併榜單裏多款同類型框架,來彌補單一框架的某些缺陷,好比將同爲網絡請求框架的Volley和Okhttp封裝到一塊兒應對不一樣場面的需求;

   會有意識的二次開發、修改源碼來擴展榜單所提到的大型框架;

   可以在開發團隊裏推進、部署某些框架的能力——好比要在一個新加入的陌生團隊說服leader和項目成員使用熱更新、插件化、組件化、hybrid 開發等多種開發模式,你是否有這個實力?

  

 

 框架名次越靠前,值得使用的優先級就越高、研究原理獲得的收穫會更多、對讀者啓發的價值就越大

 

 

二.百大框架排行榜 

 

快速索引

框架名稱   上榜關鍵字
1.Retrofit   網絡
2.okhttp 網絡
3.Butter Knife 代碼模板
4.MPAndroidChart 圖表
5.glide 圖片
6.leakcanary 內存
7.Android-Universal-Image-Loader 圖片
8.EventBus  事件消息
9.zxing 條碼掃描
10.picasso 圖片
11.lottie-android 動畫
12.fresco 圖片
13.RxAndroid 異步
14.SlidingMenu 菜單
15.PhotoView 圖片
16.material-dialogs UI
17.droid-async-http 網絡
18.androidannotations 註解
19.fastjson json
20.Material-Animations 動畫
21.tinker 熱修復
22.ViewPagerIndicator UI
23.Android-CleanArchitecture 架構
24.Android-PullToRefresh 刷新
25.flexbox-layout UI
26.AndroidSwipeLayout UI
27.realm-java 數據庫
28.greenDAO 數據
29.stetho 調試
30.BaseRecyclerViewAdapterHelper UI
31.AndroidViewAnimations 動畫
32.MaterialDrawer 菜單
33.Android-ObservableScrollView UI
34.CircleImageView 圖片
35.logger 調試
36.agera 異步
37.BottmBar 菜單
38.Calligraphy 字體
39.AndroidSlidingUpPanel UI
40.AppIntro UI
41.recyclerview-animators 動畫
42.dagger 依賴注入
43.Android-Bootstarp UI
44.RxBinding 響應式
45.ListViewAnimations 動畫
46.UItimateRecyclerView UI
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-drawable GIF
58.Apktool 反編譯
59.dynamic-load-apk 插件化
60.atlas 插件化
61.volley 網絡
62.androidmvp 用例
63.SwipeBackLayout 手勢
64.FlycoTabLayout UI
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.mosby MVP
79.AndResGuard     混淆
80.StatusBarUtil 狀態欄
81.robolectric 測試
82.Fragmentation 嵌套
83.Small 插件化
84.JsBridge hybrid
85.richeditor-android UI
86.Transitions-Everywhere 動畫
87.android-viewbadger 勳章
88.AndroidWiFiADB 調試
89.emojicon 表情包
90.packer-ng-plugin 多渠道
91.android-priority-jobqueue 多線程
92.Android-Debug-Database 調試
93.conceal 加密
94.ARouter 頁面路由
95.MagicaSakura 多主題
96.CustomActivityOnCrash 崩潰
97.XhsEmoticonsKeyboard 鍵盤

 

 

1. Retrofit  

一句話介紹:Retrofit是一款類型安全的網絡框架,基於HTTP協議,服務於Android和java語言

上榜理由:Retrofit以21.8k的stars量雄踞github中android子標題榜首,第一當之無愧。

官網地址 http://square.github.io/retrofit/

github   https://github.com/square/retrofit

做者:square團隊

使用:

compile 'com.squareup.retrofit2:retrofit:2.3.0'

 

2.okhttp

一句話介紹:okhttp是一款基於HTTP和HTTP2.0協議的網絡框架,服務於java和android客戶端

上榜理由,okhttp以20.4k的stars量雄踞github中android子標題第二名。大型公司好比淘寶也封裝的是okhttp。Retrofit2.0開始內置okhttp框架,Retrofit專一封裝接口完成業務需求,okhttp專一網絡請求的安全高效,筆者將二者區分開,是想讓後來學習者知道,這是兩套框架,學習框架原理時能夠分開學習,以避免理解混亂。

官網地址   http://square.github.io/okhttp/

github    https://github.com/square/okhttp

做者:square團隊

使用:

compile 'com.squareup.okhttp3:okhttp:3.8.0'

 

  

3.Butter Knife

一句話介紹:Butter Knife所提供了一種能力——使用註解生成模板代碼,將view與方法和參數綁定。

上榜理由:github上16.5K個star,配合Androidstudio提供的Butter Knife插件,幫助開發者省卻了頻繁findviewbyid的煩惱,最新的Butter Knife還提供了onclick綁定以及字符串的初始化,初學者能夠查閱Butter Knife以及Butter Knife插件進一步學習!

官網地址: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,以快速、簡潔。強大著稱的圖表框架

官網地址 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開發者大會上演示的camera app就是基於gilde框架開發的

github https://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

一句話介紹:一款內存檢測框架,服務於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 中寫入:

複製代碼
public class ExampleApplication extends Application {

  @Override public void onCreate() {
    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

一句話介紹:曾經的圖片加載框架王者,android開發老手都用過它

上榜理由:android端圖片加載框架的老大哥了,15.3k個star足以證實它的熱門,UIL與gilde最大區別是可定製,UIL提供了大量配置方式,圖片加載狀態的回調(成功,失敗,進行中),加載動畫等;以及提供了移動端圖片加載框架的緩存思路:三級緩存策略 sd卡-內存-網絡;值得注意的是,UIL以及兩年未更新了,但筆者仍推薦各位使用!

github https://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在向未建立的組件傳遞事件時有些侷限,僅適合在「活着的」組件間傳遞消息,但仍不妨礙它活躍在各個大型項目各個場景裏。

官網地址 http://greenrobot.org/eventbus/documentation/how-to-get-started/

github  https://github.com/greenrobot/EventBus

做者 greenrobot 

使用:

compile 'org.greenrobot:eventbus:3.0.0'

 

9.zxing

一句話介紹:條碼圖像處理庫

上榜理由:若是你用過二維碼,你確定已經間接使用過大名鼎鼎的zxing了。13.9K的star量,讓它排在本榜單第九,實至名歸,若是你有了解二維碼的需求,不妨從瞭解、修改它源碼入手。

github  https://github.com/zxing/zxing

做者  Sean Owen

 

10.picasso

一句話介紹:強力的圖片下載、緩存框架

上榜理由:本榜單出現的第三款圖片類框架,不一樣的是picasso更強調圖片下載,你能夠將picasso集成進你的項目中,你也能夠結合gilde和UIL與picasso,三者一齊封裝至你的項目中,按需所用。

官網地址 http://square.github.io/picasso/

github  https://github.com/square/picasso

做者 square團隊

使用:

compile 'com.squareup.picasso:picasso:2.5.2'

或者下載

jar包

 

11.lottie-android

一句話介紹:一款能夠在Android端快速展現Adobe Afeter Effect(AE)工具所做動畫的框架

上榜理由:動畫類框架第一名,github上13.3k個star證實了他的優越性,利用json文件快速實現動畫效果是它最大的便利,而這個json文件也是由Adobe提供的After Effects(AE)工具製做的,在AE中裝一個Bodymovin的插件,使用這個插件最終將動畫效果生成json文件,這個json文件便可由LottieAnimationView解析並生成絢麗的動畫效果。並且它還支持跨平臺喲。

github  https://github.com/airbnb/lottie-android

做者:Airbnb 團隊

 

12.fresco

一句話介紹:一款能夠管理圖片內存的框架

上榜理由:github上12.8k個star,圖片類排行榜第四名,facebook的出身證實了它並不是是重複造的輪子,在管理圖片內存領域上有着它的一片天地,漸進式加載、加載gif都是它與前三位相比獨有的特性

官網地址: https://www.fresco-cn.org/

github  https://github.com/facebook/fresco

做者 facebook

使用:

dependencies {
  // 其餘依賴
  compile 'com.facebook.fresco:fresco:0.12.0'
}

下面的依賴須要根據需求添加:

複製代碼
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 (靜態圖+動圖),須要添加
  compile 'com.facebook.fresco:animated-webp:0.12.0'
  compile 'com.facebook.fresco:webpsupport:0.12.0'

  // 僅支持 WebP 靜態圖,須要添加
  compile 'com.facebook.fresco:webpsupport:0.12.0'
}
複製代碼

 

13.RxAndroid

一句話介紹:一款Android客戶端組件間異步通訊的框架

上榜理由:github上12.7k個star,位居組件通訊框架的第二名,僅在EventBus以後,若是要問二者的區別,Eventbus是用來取代組件間繁瑣的interface,RxAndroid是用來取代AnsyTask的,並不衝突;固然RxAndroid的優勢並不只限於此,更多優雅的實現,能夠去官網查閱!

github  https://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,證實了它的經久不衰,即便在Google推出了NavigationDrawer,仍然沒有減小開發者對SildingMenu的擁簇,經典老是經得起考驗的,這個上古神獸已經四年沒有更新了;有太多太多的app使用過它,這些均可以在軟件的開源許可上看到!

github https://github.com/jfeinstein10/SlidingMenu

做者 Jeremy Feinstein

使用:

在gihub上fork源碼,集成進項目中

 

15.PhotoView

一句話介紹:一款ImageView展現框架,支持縮放,響應手勢

上榜理由:10.3k的star數量,位於圖片類框架排行榜第五位,PhotoView與前四位不一樣的是此次帶來的是圖片的展現能力,你必定好奇微信的頭像點擊放大是如何實現的,不少App的圖片顯示響應手勢按壓是如何實現的,瞭解PhotoView,你必定會開心的!(筆者也不會告訴你ImageView的點擊放大效果在Android的sample也有)

github  https://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'
}
複製代碼

使用

 
 
複製代碼
<com.github.chrisbanes.photoview.PhotoView
    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使用能力

github  https://github.com/afollestad/material-dialogs

做者:Aidan Follestad

使用:

dependencies {
    // ... other dependencies here
    compile 'com.afollestad.material-dialogs:core:0.9.4.5'
}

 

17.droid-async-http

 一句話介紹:一款基於Http協議的異步請求的網絡框架,

上榜理由:雖然你有無數個使用retrofit+okhttp的理由,但9.8k個star,證實它仍然值得你深刻學習。值得注意的是,它也已經有兩年沒更新了,你儘管拿去當你懶惰的理由!

github   https://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

一句話介紹:一款基於註解的快速開發框架

上榜理由:與Butterknife同樣基於註解,利用註解快速完成view的初始化,不一樣的是androidannotations提供了更多的能力:簡單的線程模型等;筆者只接觸過Butterknife,沒法更進一步敘述androidannotations的優點,若是你志在深刻了解註解的妙用,能夠嘗試探索一下!

官網地址 http://androidannotations.org/

github https://github.com/androidannotations/androidannotations

做者: WonderCsabo

 

19.fastjson

一句話介紹:一款基於json解析、生成的框架

上榜理由:從它的名字不難看出,快速是它最大的特性,阿里巴巴的出身保證了代碼的質量和優越,9.4k的star數量,也是榜單裏第一個出現的中國開源框架,涉及網絡的app都會用到json,fastjson值得做爲你的首選!

github  https://github.com/alibaba/fastjson

做者:alibaba

使用:

compile 'com.alibaba:fastjson:1.1.58.android'

 

20.Material-Animations

一句話介紹:一款提供場景轉換過渡能力的動畫框架

上榜理由:Android動畫框架排行榜第二名,9.3k個star數量,與動畫框架榜單第一名lottie-android不一樣的是,Material-Animations提供的是場景切換的動畫效果。Android 官網sample中已經提供了部分Transition (轉場動畫)的展現,做爲初學者很難快速拓展到本身項目中,Material-Animations的示例出現爲開發者省去了此類麻煩,直接照搬應用到本身的App中吧。

 github  https://github.com/lgvalle/Material-Animations

做者:Luis G. Valle

使用:

down源碼,修改學習

 

21.tinker

一句話介紹:它是微信官網的Android熱補丁解決方案

上榜理由:9.1k個star,微信在用的熱補丁方案,心動不如行動

官網地址  http://www.tinkerpatch.com/Docs/intro

github   https://github.com/Tencent/tinker

做者:Tencent

 

 

22.ViewPagerIndicator

一句話介紹:一款基於ViewPager的頁面指示器開源框架

上榜理由:上古神器,儘管已經五年未更新了,但你仍然能夠在淘寶等app中看到它的使用場景,8.9K的star量讓它不慍不火的在矗立在榜單裏

官網地址 http://viewpagerindicator.com/

github  https://github.com/JakeWharton/ViewPagerIndicator

做者:JakeWharton 

使用:

 下載 地址 https://github.com/JakeWharton/Android-ViewPagerIndicator/zipball/master

 

23.Android-CleanArchitecture

一句話介紹:一個講解設計框架的demo

上榜理由:它不是框架,你能夠把它看成一本書,它將教會你如何設計簡潔的架構,工程裏有一個sample app,配合圖文講解,你將對Android客戶端的架構有更深一層的認識。8.8k的star數量,證實了它是一本「好書」喲。

github  https://github.com/android10/Android-CleanArchitecture

做者:Fernando Cejas

 

24..Android-PullToRefresh

一句話介紹:一款爲普通視圖提供刷新UI的視圖框架

上榜理由:8.2K的star數量使它位居刷新類UI框架榜首,強大的兼容能力,該框架支持ListView,GrdiView,WebViewScrollView,ViewPager等衆多View增長刷新的能力,若是你有增長上拉加載,下拉加載的需求,你應該考慮它了!

github https://github.com/chrisbanes/Android-PullToRefresh

做者:Chris Banes

使用:

github fork源碼,集成到項目中

 

25.flexbox-layout

一句話介紹:一款彈性伸縮佈局

上榜理由:8.1k個star,前端H5開發者轉Android開發的福音,FlexboxLayout做爲LinearLayoutRelativeLayout的替代者,值得各位一試,與其一同推出的還有ConstraintLayout。

github  https://github.com/google/flexbox-layout

做者:Google

使用:

dependencies {
    compile 'com.google.android:flexbox:0.3.0-alpha3'
}

 

26.AndroidSwipeLayout

一句話介紹:很是強大滑動式佈局

上榜理由:滑動刪除是國產app常見需求,商品詳情的上下滑動需求做爲開發者的咱們也常常遇到,AndroidSwipeLayout在github上擁有8K個star,證實它經受住了檢驗,各位值得一試

github https://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"
}

或下載 

AndroidSwipeLayout-v1.1.8.jar

 

27.realm-java

一句話介紹:Realm是一款移動端數據庫框架

上榜理由:核心數據引擎C++打造,比普通的Sqlite型數據庫快的多。筆者猜想正是如此,realm以7892個star數讓它位於大名鼎鼎的數據庫框架GreenDao(7877)以前

官網地址:https://realm.io/cn/

github https://github.com/realm/realm-java

做者:Realm團隊 

使用:https://realm.io/docs/java/latest/

 

28.greenDAO

一句話介紹:greenDAO是一款高效、快速的SQLite型數據庫

上榜理由:greenDAO的star數量與Realm不相上下,且與EventBus師出同門,也是由greenrobot團隊開發維護的,質量有所保證,但若拷問筆者Realm與greenDao二者的優劣性,只能具體到實際使用當中,模擬線上的使用情形,進行高強度測試後才能下判斷,故在此不能一言兩語說完,深表遺憾

官網地址:http://greenrobot.org/greendao/

github  https://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 plugin dependencies { compile 'org.greenrobot:greendao:3.2.2' // add library }
複製代碼

 

29.stetho

一句話介紹:一款提供在Chrome開發者工具上調試Android app能力的開源框架

上榜理由:上古時期Android程序員要調試本地數據庫,須要進入Android Device Monitor找到/data/data/com.xxx.xxx/databases裏面的db文件,導出到PC端,用PC的數據工具查看,如今使用stetho省卻瞭如此的麻煩;現在的Android程序員若是想調試網絡請求響應過程當中的報文段,須要在請求中加入Log語句,一個信息一個信息打印出來,至關繁瑣,如今請使用stetho,省卻諸如此類的麻煩把!7.8K個star數,廣大Android開發者調試的福音,你值得擁有!

做者:FaceBook

官網地址: http://facebook.github.io/stetho/

github   https://github.com/facebook/stetho

使用:

compile 'com.facebook.stetho:stetho:1.5.0'

 

30.BaseRecyclerViewAdapterHelper

一句話介紹:強大、流暢的Recyvlerview通用適配器

上榜理由:若是你是RecyclerView的擁簇者,你必定要體驗這款專門服務該view的適配器,7.7K個star,讓這個傢伙位於github上Android 適配器排行榜第一,還有不少驚喜等你去探尋!

官網地址:http://www.recyclerview.org/

做者:陳宇明以及他的小夥伴

使用:

複製代碼
allprojects {
    repositories {
        ...
        maven { url "https://jitpack.io" }
    }
}


dependencies {
        compile 'com.github.CymChad:BaseRecyclerViewAdapterHelper:VERSION_CODE'
}
複製代碼

 

31.AndroidViewAnimations

一句話介紹:一款提供可愛動畫集合的框架

上榜理由:正如做者所說,它囊括了開發需求過程當中全部的動畫效果,集成進了這個簡潔可愛的動畫框架。7.6K的star數,證實了它在動畫框架領域的戰鬥力,讓它僅僅位列lottie-android和Material-Animations兩個動畫框架霸主以後,屈居第三名

github https://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數量,做者的持續更新狀態,若是你還在猶豫上手SlidingMenu遇到bug沒人管的困境,那麼你能夠入手它做爲你的抽屜佈局 

github  https://github.com/mikepenz/MaterialDrawer

做者:Mike Penz

使用:

compile('com.mikepenz:materialdrawer:5.9.2@aar') {
    transitive = true
}

 

new DrawerBuilder().withActivity(this).build();

 

 

 33.Android-ObservableScrollView

一句話介紹:一款讓視圖滑動更具備視覺效果的滑動式框架

上榜理由:7.5K的star數量,證實了它曾經的價值,github上提供了12種滑動效果,你能夠用它彌補其餘框架的不足,提高你的App體驗!

github https://github.com/ksoichiro/Android-ObservableScrollView

做者:Soichiro Kashima

使用:

compile com.github.ksoichiro:android-observablescrollview

 

34.CircleImageView

一句話介紹:圓角ImageView

上榜理由:也許你已經據說過無數種展現圓角圖片的方法,但若是你不嘗試嘗試CircleImageView,那麼你的知識庫會由於少了它黯然失色,有的時候完成需求是開發者優先考慮的,不一樣實現方法牽扯到的性能差別更值得讓人深思,若是你有心在圖片性能上有所涉獵,那麼CircleImageView絕對不會讓你敗興而歸。最後別忘了記得去看Romain Guy的建議喲。

github https://github.com/hdodenhof/CircleImageView

做者:Henning Dodenhof

使用:

dependencies {
    ...
    compile 'de.hdodenhof:circleimageview:2.1.0'
}

 

複製代碼
<de.hdodenhof.circleimageview.CircleImageView
    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日誌優雅顯示的框架

上榜理由:logger做爲調試框架,並未給出很強大的能力,它最大的亮點是優雅的輸出log信息,而且支持多種格式:線程、Json、Xml、List、Map等,若是你整日沉迷於汪洋大海般的log信息不能自拔,logger就是你的指路明燈!6.6k個star讓他位列調試框架第二名,屈居facebook的stetho以後

github https://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開發者,相比於之響應式編程框架榜首的 RxJava RxAndroid,它更輕量,二者最大的不一樣點在於agera基於push event、pull data (VS Rx系列 push data)。

github https://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數量,證實了它的優秀,徹底遵循材料設計規範,上手很是方便。若是說缺點,沒法設置icon與titile的間距,沒法自定義視圖的大小等,但這些均可以經過修改源代碼解決,筆者獻醜也修改了一套符合國內開發者的底部導航框架,即將開源。

github  https://github.com/roughike/BottomBar

做者:Iiro Krankka

使用:

compile 'com.roughike:bottom-bar:2.3.1'

 

38.Calligraphy

一句話介紹:一款自定義字體框架

上榜理由:若是你還在爲一鍵修改App內全部字體樣式而煩惱,6.3K個star的Calligraphy就值得你擁有,它能夠同時修改整個整個項目的Textview字體,也能夠單獨 設置某個Textview的字體,還在等什麼,快來試試吧!

github  https://github.com/chrisjenx/Calligraphy

做者:Christopher Jenkins

使用:

dependencies {
    compile 'uk.co.chrisjenx:calligraphy:2.3.0'
}

 

39.AndroidSlidingUpPanel

一句話介紹:可拖動的滑動面板視圖框架

上榜理由:若是你的項目須要一個可拖拽的滑動式面板(展現某些詳情信息,播放音樂,地圖信息等),那麼推薦你使用它,6.3k個star,來自創業公司umano的做品,證實它是用心推出的傑做

github https://github.com/umano/AndroidSlidingUpPanel

做者:umano

使用:

複製代碼
dependencies {
    repositories {
        mavenCentral()
    }
compile 'com.sothree.slidinguppanel:library:3.3.1' }
複製代碼

 

40.AppIntro

一句話介紹:一款提供快速製做歡迎頁的框架

上榜理由:筆者從未把打算把歡迎頁框架歸入排行榜當中,做爲國內開發者,ViewPager開發App的歡迎頁已是手到擒來的需求,爲什麼一個開源的歡迎頁框架會在github上擁有6.3k個star?也許你會不屑一顧,是的,每每就在不屑一顧的瞬間,機遇就悄悄溜走了。

github https://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已經推出快三年了,還在用listview的人們,是否已經發掘本身漸漸變老;不要灰心,快爲你的項目加入recyclerview-animators框架吧,爲「本身」加入新鮮的血液和能量!(筆者備註:6.2K個star)

github  https://github.com/wasabeef/recyclerview-animators

做者;https://github.com/wasabeef

使用:

dependencies {
  // jCenter
  compile 'jp.wasabeef:recyclerview-animators:2.2.6'
}

 

42.dagger

一句話介紹:一款經過依賴注入下降程序間耦合的開發框架

上榜理由:github 上dagger1版本 有6.2k個star , dagger2版本有7.3k個;由square完成的dagger1版本,到現在google團隊接手的dagger2版本,強力開發團隊保證了代碼在設計上的優越性;若是你想探究Android 領域的設計模式,這也是不錯的選擇。

官網地址: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應用上實現Bootstrap(web框架)所做出效果的框架

上榜理由:榜單上第二款響應web技術的Android 端框架,還記得第一名是誰嗎——flexbox-layout,做爲Android開發者,你有必要去了解Web技術了。5.9k個star,證實它不容小覷

github https://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做者親自操刀,快來試用吧!

github  https://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,證實我和它一塊兒戰鬥過。ListViewAnimations的存在就是證實咱們這些「老年人」仍有用武之地,也許你有說不出口的難處,沒法體會到RecyclerView裏動畫的快樂,擁有ListViewAnimations,你同樣能夠驕傲的說,個人孩子(每一個item)也有本身的動效啦。(筆者備註 5.6K個star)

github  https://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框架

上榜理由:榜單上第三次出現RecyclerView的身影,足以證實RecyclerView的優異性,5.5K個star,框架裏所提供衆多的能力,若是你是個功利開發者,那麼此框架會爲你節省不少學習時間,它能夠完成多item式佈局的大多數需求,值得注意的是,這個項目也是在其餘項目的思路上二次開發的。

github  https://github.com/cymcsg/UltimateRecyclerView

做者:MarshalChen

使用:

複製代碼
repositories {
    jcenter()
    }
dependencies {
    ...
    compile 'com.marshalchen.ultimaterecyclerview:library:0.7.2'
}
複製代碼

 

47.uCrop

一句話介紹:一款優雅的圖片裁剪框架

上榜理由:5.3K個star,圖片編輯模塊單獨拎出來也是一款優雅的App。

github  https://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

上榜理由:榜單出現的第一個「僅僅爲告訴你如何使用另外一個項目」的開源項目,它能夠說是RxJava的用例,你想獲得的想不到的RxJava用法這裏都有,這就是爲何它以5.2k個star矗立在這份榜單裏的緣由。遺憾本身沒有創做這麼一個受人追捧的demo?趕快動手寫個其餘的「XX項目用例吧」

github  https://github.com/kaushikgopal/RxJava-Android-Samples

做者:kaushikgopal

使用:

clone到本地慢慢探索吧

 

49.AndroidAutoLayout

一句話介紹:一個提供適配能力的框架

上榜理由:5.2K個star,鴻洋老弟的做品,適合小項目的開發團隊,拿到設計MM的px像素設計稿是否是很頭疼捏?這個框架一鍵式搞定你的問題,它有不少的不足,但在追求完美適配的路上,你值得探索和了解它!筆者並不推薦把它應用到已經成熟運行的項目中,畢竟市面上已經有太多的適配解決方案了,適配問題就像是個大雜燴,想炒一盤好菜,就得備好各類佐料(適配小方案),當你把各類小佐料用的爐火純青的時候,你離美食大廚就不遠了。

github https://github.com/hongyangAndroid/AndroidAutoLayout

做者:張鴻洋

使用:

dependencies {
    compile 'com.zhy:autolayout:1.4.5'
}

 

50.EffectiveAndroidUI

一句話介紹:一款講解高效展現UI的教學型App

上榜理由:編程新手很難對MVC MVP,MVVM等模式有深入的理解,若是有一個示例型app,那對初學者會有很大裨益,筆者在遇到它時也是相見恨晚。4.8K個star,證實了它經受了廣大開發者的考驗與審視,其中Effective UI的編程思想更是與Android官方課程裏的Effective UI課程不謀而合,而且,此項目還包含了fragment、dagger、主題樣式、Butterknife等衆多小知識點,做爲編程初學者的學習用例再適合不過了

github  https://github.com/pedrovgs/EffectiveAndroidUI

做者:Pedro Vicente 

使用:

clone項目到本地

 

51.Luban

一句話介紹:最接近微信的圖片壓縮框架

上榜理由:好的思路老是可讓你大放異彩,Luban僅以圖片壓縮單一功能,俘獲了4.8K個star,證實了它在圖片壓縮上的造詣,它可能不是最優秀的,但它是讓你我最接近偉大的項目

github  https://github.com/Curzibn/Luban

做者:Curzibn

使用:

compile 'top.zibin:Luban:1.1.1'
 

52.DroidPlugin

一句話介紹:一款熱門的插件化開發框架
上榜理由:4.8K個star,插件化框架榜單第一名,,360團隊出品,框架質量有保證,有成功案例——360手機助手,而且持續維護着
做者:Andy Zhang
使用:
clone項目到本地
 

53. otto

一句話介紹:一款老舊且強大的事件總線框架
上榜理由:4.8K個star,是square團隊早先推出的事件響應型框架,淘寶app的事件驅動也是基於此框架封裝的,現在square已經建議開發者採用RxJava RxAndroid來代替otto了。但otto仍有與EventBus橫向對比的價值,縱向來講,otto與square自家開發的Rx系列框架的差別一樣值得開發者們去探究。
做者: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牽頭開發的教學類app,教你使用Dagger在其餘高級框架的用法,它展現了Dagger與ButterKnife、Retrofit、Moshi、Picasso、Okhttp、RxJava、Timber、Madge、LeakCanar等衆多優秀框架結合起來的高級用法,你也能夠借鑑到本身的項目當中
做者:JakeWharton
 
 

55.buck

一句話介紹:buck是一個快速構建系統
上榜理由:facebook+google出身的做者,對構建代碼的出色理解,加上大型團隊的維護,以及增量更新時的快速高效,讓buck成爲了微信Android團隊構建項目的首選,構建大型項目時,它比gradle更快,然而中小公司並不適合此框架,但做爲立志在框架設計領域有一番做爲的人們,歡迎來一探究竟
官網地址: https://buckbuild.com/
做者:facebook
使用:
linux or mac system  +docs

 

 

56.PermissionsDispatcher

一句話介紹:一款基於註解的提供 解決運行時危險權限方案的框架
上榜理由:自Android6.0 Google提出危險權限一詞起,用戶安全性被提到必定的高度,一些運行時對用戶較爲危險的權限將再也不自動被開發者獲取,須要通過用戶批准,開發者才能夠繼續使用該權限,若是你曾經被權限問題搞的抓耳撓腮,建議你試試這個框架,它足夠解決你的問題
做者: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動畫能力的視圖框架

上榜理由:據我所查國內著名App——知乎使用了android-gif-drawable,所以證實了它的存在價值,儘管在榜單第十一位介紹了lottie-android直接應用AE動畫的示例,但AE設計師不是每一個公司都配備的,GIF的存在,就必然存在了展現GIF的須要,它值得你擁有!

github https://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神器!

github  https://github.com/iBotPeaches/Apktool

官網地址:https://ibotpeaches.github.io/Apktool/

做者:Connor Tumbleson

 

59.dynamic-load-apk

一句話介紹:插件化開發框架

上榜理由:4.5k個star,位於插件化開發框架第二名(第一名來自360團隊),全面的文檔介紹讓你很快就能上手插件化開發,若是你喜歡大段文字講解,那麼這個項目必定適合你

github:https://github.com/singwhatiwanna/dynamic-load-apk

做者:singwhatiwanna

使用:

github上的文檔配合做者博客更配喲

 

60.atlas

一句話介紹:淘寶推出的組件化開發框架

上榜理由:淘寶團隊所出的精品,atlas框架提供瞭解耦、組件、動態的開發能力,4.5k個star讓他位列組件化開發框架第一名

github https://github.com/alibaba/atlas

做者:alibaba

 

 61.volley

一句話介紹:google推薦使用的Android端網絡請求框架

上榜理由:4.4k個star,並非他不夠優秀,而是使用volley已經漸漸成爲廣大開發者的習慣

github https://github.com/google/volley(新版volley地址)

做者:google

使用:

clone源碼到本地

 

62.androidmvp

一句話介紹:一款展現Android端Mvp設計的demo
上榜理由:榜單裏爲數很少、僅憑展現某種設計模式就得到4.2K個star的項目,若是你有嘗試mvp的打算,androidmvp能夠做爲你的前哨站
做者:Antonio Leiva
使用:
clone到本地
 

63.SwipeBackLayout

一句話介紹:一款可讓你經過滑動手勢關閉頁面的的框架
上榜理由:仿微信滑動退出當前聊天界面的效果,提供了activity的滑動關閉能力,經過這種思路,實現fragment的滑動關閉垂手可得;筆者堅持建議諸位clone源碼到本地探索一番;4.2k個star證實不少人都喜好它
做者:ike_w0ng
 使用:
compile 'me.imid.swipebacklayout.lib:library:1.0.0'

 

64.FlycoTabLayout

一句話介紹:一款可讓做出多種多樣指示器效果的框架

上榜理由:儘管咱們沒有理由爲了給app加入頁面指示器功能就集成2.5M的依賴庫,可是做爲了解viewpager或swip views的指示器設計原理的優秀框架,你值得打開它試試,筆者建議單獨拆分所需源碼,加入到本身的項目中去。4.1K個star,二次開發的做品,仍然推薦!

github  https://github.com/H07000223/FlycoTabLayout

做者:Flyco

 

65.android-testing

一句話介紹:一款展現四大自動化測試框架用例的demo(Espresso,UiAutomator,AndroidJunitRunner,JUnit4)

上榜理由:學習者常常會陷入似懂非懂的境地,若是你有幸學習過Android Testing Support Library site的課程,那麼你必定對android的四大測試框架火燒眉毛,這款demo很是適合你,快來學習這個4.1k個star的明星項目吧

github https://github.com/googlesamples/android-testing

做者:googlesampes團隊

 

66.FileDownloader

一句話介紹:一款高效、穩定、靈活、易用的文件下載引擎

上榜理由:4.1k證實了它有多受人喜好,文件下載看似簡單的背後暗藏了多少的坑坑點點,我知道你有能力本身實現文件下載功能,但優秀的框架能夠提高你的設計編碼能力,這款框架能夠提高你的實力!

github https://github.com/lingochamp/FileDownloader

做者:LingoChamp團隊

使用:

dependencies {
    compile 'com.liulishuo.filedownloader:library:1.5.5'
}

 

 67.JieCaoVideoPlayer

一句話介紹:基於MediaPlayer api——VideoView 的多媒體播放框架

上榜理由:榜單裏第三款多媒體播放框架,它以靈巧的身姿擠入本榜單,精巧是它最大的優勢,不到100k,擁有它,你就能夠快速開發相似今日頭條那樣的視頻播放效果,4k個star,證實它值得一試

github https://github.com/lipangit/JieCaoVideoPlayer

做者:Nathen

使用:
compile 'fm.jiecao:jiecaovideoplayer:5.5.4'

 

68.glide-transformations

一句話介紹:爲衆多著名圖片加載框架提供圖片形狀變幻能力的框架

上榜理由:在榜單靠前的部分已經介紹過glide,Picasso,Fresco等圖片加載框架,glide-transformations就是一款爲他們提供圖片變形能力的框架,使用起來很是簡單,所以受到了你們的喜好,github上有3.8K個star
做者:Daichi Furiya
使用:
複製代碼
repositories {
    jcenter()
}

dependencies {
    compile 'jp.wasabeef:glide-transformations:2.0.2'
    // If you want to use the GPU Filters
    compile 'jp.co.cyberagent.android.gpuimage:gpuimage-library:1.4.1'
}
複製代碼

在Glide裏設置變幻效果

Set Glide Transform.

Glide.with(this).load(R.drawable.demo)
        .bitmapTransform(new BlurTransformation(context))
        .into((ImageView) findViewById(R.id.image));

 

69.android-gpuimage

一句話介紹:一款基於OpenGL的圖片渲染引擎
上榜理由:放下GpuImage在IOS平臺的榮譽不談,Android版的android-gpuimage就提供多達70多種圖片渲染效果,你還在好奇美圖秀秀是如何實現圖片變幻的?有了它,一切都不是問題。若是你是美圖工具類的工程師,此框架的建設思路也會對你大有裨益。筆者也是經過android-gpuimage仿造了美圖App並俘獲女朋友芳心的,再次爲它的實力點贊。ios版+android版一共19k個star,已經證實了它的實力,還在等什麼呢?
做者:CyberAgent 團隊
使用:
複製代碼
repositories {
    jcenter()
}

dependencies {
    compile 'jp.co.cyberagent.android.gpuimage:gpuimage-library:1.4.1'
}
複製代碼

更多的改造方法,還須要閱讀Ios的編程文檔,對於有毅力的小夥伴強力推薦!

 

70.RxPermissions

一句話介紹:一款基於RxJava完成權限申請的框架
上榜理由:榜單裏第二款提供權服務的框架,基於RxJava的設計,讓你能夠專心寫業務,3.7K個star已經證實了它的實用價值
做者:Thomas Bruyelle
使用:
複製代碼
repositories {
    jcenter() // If not already there
}

dependencies {
    compile 'com.tbruyelle.rxpermissions:rxpermissions:0.9.4@aar'
}
複製代碼

 

優雅的使用:
複製代碼
RxPermissions rxPermissions = new RxPermissions(this); 

rxPermissions
    .request(Manifest.permission.CAMERA)
    .subscribe(granted -> {
        if (granted) { // I can control the camera now
        } else {
           // Oups permission denied
        }
    });
複製代碼

 

71.freeline

一句話介紹:一款動態替換的編譯構建框架

上榜理由:繼Facebook的Buck,Androdi官方的InstRun以後,螞蟻金服推出了Freeline編譯框架,官網宣稱Freeline與業內主流構建方式相比仍然有數倍的速度領先;排行有前後,編譯速度並不在本榜單排序的考據因素中,所以freeline以3.7個star,暫列編譯框架第二名

官網地址:https://www.freelinebuild.com/

github:https://github.com/alibaba/freeline

做者:alibaba

使用:

複製代碼
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.antfortune.freeline:gradle:0.8.7'
    }
}

apply plugin: 'com.antfortune.freeline' android { ... }
 
  

File → Settings... → Plugins → Browse repositories →freeline.

 
  
複製代碼

 

72.RxLifecycle

一句話介紹:一款提供在使用RxJava過程當中管理Activity和Fragment生命週期能力的框架

上榜理由:在榜單靠前的部分,你已經瞭解RxJava和RxAndroid的強大之處,但部分粗心的開發者由於沒有及時取消訂閱而產生嚴重的內存泄漏,不要擔憂,RxLifecycle能夠爲你解決難題,在gtihub上擁有3.7K個star,國內知名軟件——知乎和淘寶也都在使用它

github  https://github.com/trello/RxLifecycle

做者:trello團隊

使用:

clone源碼到本地

 

73.classyshark

一句話介紹:一款可執行文件瀏覽器

上榜理由:榜單裏繼Apktool以後第二款apk逆向工具,若是你喜歡優雅的圖形數據展現,那麼你必定不能錯過他,classyshark能夠將破解的結果以圖形化展現用戶,方便分析,3.7K個star,讓它暫列apk逆向工具第二位!

github  https://github.com/google/android-classyshark

做者:google

使用:

下載 JAR 

 

74.acra

一句話介紹:一款提供記錄APP崩潰日誌能力的框架

上榜理由:若是你面臨着收集APP崩潰日誌的需求,那麼acra是個不錯的選擇。3.7K個star,讓acra位列崩潰日誌框架排行榜第一名,acra有足夠的能力記錄線上APP,而且發回服務端,acra也提供了至關棒的崩潰日誌統計服務端框架Acralyzer,cralyzer工做在Apache CouchDB之上,因此除了CouchDB以外,沒有必要安裝任何額外的軟件,移動端開發者也能夠藉此學習服務端的建設,一箭雙鵰!

github https://github.com/ACRA/acra

服務端github  https://github.com/ACRA/acralyzer

做者:acra團隊

使用:

沒有什麼方法比clone源碼到本地更方便了

 

75.DiskLruCache

一句話介紹:一款提供磁盤文件緩存管理能力的框架

上榜理由:3.7k個star並不足以說明DiskLruCache的優秀,僅僅以管理磁盤文件能力單獨拎出來成爲一個框架,做者須要很大的勇氣,很幸運,做者作到了,而且也成爲Google官網提倡的緩存  ;如還記得上次作「一鍵清除緩存」、「查看緩存文件大小」功能是何時嗎?DiskLruCache一句話就能夠搞定!

github https://github.com/JakeWharton/DiskLruCache

做者:JakeWharton

使用:

 

compile 'com.jakewharton:disklrucache:2.0.2'

或者下載 latest .jar

 

76.dexposed

一句話介紹:一款支撐阿里大部分App客戶端熱修復、線上調試能力的框架

上榜理由:榜單上再次出現熱修復框架的身影,證實App熱修復技術的火熱,dexposed提供圖形化的性能監控、在線熱修復bug漏洞、支持AOP編程思想等,不論你是企業熱修復技術的設計者仍是打算在熱修復領域一探究竟的新人,這款框架很適合你。3.5k個star,證實它做爲一門技術框架的存在,是多麼使人喜好!

github  https://github.com/alibaba/dexposed

做者:alibaba

使用:

dependencies {
        compile 'com.taobao.android:dexposed:0.1.1@aar'
    }

 

77.Litho

一句話介紹:一款提供高效構建UI能力的框架 

上榜理由:做爲一款專門構建UI的框架,Litho高效的地方在於:單獨開闢了用於渲染和佈局的線程,而後將建立好的組件傳遞給UI線程去完成最終的渲染,使用更少的視圖層級,來提高界面的滾動速度,值得注意的是,它僅支持開發者做出不可改變的UI組件 ,3.5K個star,證實了它在構建UI領域的價值,更多的妙處,期待你親自去發掘!

github  https://github.com/facebook/litho

做者:facebook

 使用:

複製代碼
ependencies {
  // ...
  // Litho
  compile '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'

  // SoLoader
  compile 'com.facebook.soloader:soloader:0.2.0'

  // Optional
  // For debugging
  debugCompile 'com.facebook.litho:litho-stetho:0.3.1'

  // For integration with Fresco
  compile 'com.facebook.litho:litho-fresco:0.3.1'

  // For testing
  testCompile 'com.facebook.litho:litho-testing:0.3.1'
}
複製代碼

 

78.mosby

一句話介紹:一款提供構建MVP項目能力的框架

上榜理由:榜單靠前的部分已經介紹了MVC,MVVM,MVP的框架項目,想必此時你在構建企業項目架構上,選擇或者開發一款合適的MVP框架迫在眉睫,mosby能夠做爲你的第一步參考,你能夠封裝它,也能夠照抄它,不管如何,3.4K個star,證實了它在框架設計上有多受開發者的喜好

github https://github.com/sockeqwe/mosby

做者:Hannes Dorfmann

使用:

複製代碼
dependencies {

  compile 'com.hannesdorfmann.mosby3:mvi:3.0.4' // Model-View-Intent
  // or
  compile 'com.hannesdorfmann.mosby3:mvp:3.0.4' // Plain MVP
  // or
  compile '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變爲r/d/a,3.4K個star,證實了在優化APK道路上,你不是一我的在戰鬥!

github  https://github.com/shwenzhang/AndResGuard

做者:wechat team

使用:

clone項目到本地,其實也就是個三兩句話的文檔

 

80.StatusBarUtil

一句話介紹:一款提供設置沉浸式狀態欄樣式能力的框架

上榜理由:設計師MM老是抱怨系統狀態欄不優雅?那就給她一個完美的沉浸式狀態欄。StatusBarUtil能夠爲所欲爲的設置狀態欄樣式,3.3K個star,足以說明它有多受設計MM的喜好

github https://github.com/laobie/StatusBarUtil

做者:Jaeger

使用:

compile 'com.jaeger.statusbarutil:library:1.4.0'

 

81.robolectric

一句話介紹:一款不依賴於Android設備的單元測試框架,

上榜理由:sample中列舉了如何對Android四大組件和常見功能測試的用例,3.2K個star,值得充滿好奇心的人嘗試

官網地址:http://robolectric.org/

github  https://github.com/robolectric/robolectric

做者:robolectric

使用:

testCompile "org.robolectric:robolectric:3.3.2"

 

82.Fragmentation

一句話介紹:一款提供管理Fragmen嵌套t能力的框架

上榜理由:對於Activity和Fragment使用,你必定駕輕就熟,但若是要作一套通用的Activity&Fragment嵌套設計,想必你有點手足無措了,Fragmentation能夠做爲你設計Fragment管理上的第一步,3.2K個star,筆者認爲有點名副其實了,項目介紹裏說的是Fragment的管理能力,但並未提供Fragment&Activity生命週期、任務棧的管理能力,所以很難直接應用到企業項目當中,但源碼當中的設計思路,值得筆者與諸位借鑑,拾人牙慧留有餘香!

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的優勢是輕巧,適合做爲小團隊的插件開發方案,3.1K個star,讓它得到了酷狗音樂等著名開發團隊的青睞,若是大家的團隊想逐步實施插件化開發,Small是個不錯的選擇!

 官網地址:http://code.wequick.net/Small/cn/cases

github  https://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頁面調用經過JS調用App方法的能力;3.1K個star,簡潔的通信方式,值得每個Web\Hybrid App開發者嘗試

gtihub https://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提供擴展能力的框架,你暫時不須要它,但不能不知道它

github  https://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 框架,可能聽過,但卻沒法作出優雅奇妙的動效——別擔憂,Transitions-Everywhere正如它的名字同樣,它將帶你全面體驗Transitions 的強大之處

github  https://github.com/andkulikov/Transitions-Everywhere

做者:Andrey Kulikov

使用:

dependencies {
    compile "com.andkulikov:transitionseverywhere:1.7.4"
}

 

87.android-viewbadger

一句話介紹:可以快速的爲Android 視圖加入「勳章」能力的框架

上榜理由:若是說勳章一詞聽起來陌生,那麼顯示已讀未讀個數、小紅點標記信息這一類詞語你必定不太陌生,筆者相信在諸位實際開發中常常遇到爲某些item加入小紅點標記的需求,聰明的各位必定有着各類實現方案,爲何不能快速優雅的完成呢?android-viewbadger能夠幫你實現,固然,在某些狀況下,你須要具有修改源碼的能力,以符合設計MM的需求!值得注意的是,這寬項目已經五年沒有更新了!

github https://github.com/jgilfelt/android-viewbadger

做者:Jeff Gilfelt

使用:

clone源碼到本地

View target = findViewById(R.id.target_view);
BadgeView badge = new BadgeView(this, target);
badge.setText("1");
badge.show();

 

88.AndroidWiFiADB

一句話介紹:一款不用數據線也可讓你調試手機設備APP的插件項目

上榜理由:你是否還在擔憂測試過程當中高強度的拔插數據線對手機電池和USB端口形成終生難以彌補的損害?別擔憂,有wifi有AndroidWiFiADB,無須數據線也能夠調試應用了,更有趣的是,在測試工程師一邊拿着手機一邊找你聊bug的時候,你已經偷偷在它的手機上修復了bug,深藏功與名!

github https://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顯示能力的框架,這款專爲表情包設計,若是你曾經好奇微信、QQ的表情顯示是如何作到的?這款框架必定能知足你的求知慾。

 

90.packer-ng-plugin

一句話介紹:一款打爆工具插件

上榜利用:筆者盡力維護榜單涉及範圍的全面性,所以引入此插件項目——項目號稱完成100個渠道包只須要10秒鐘,在市面上各類各樣多渠道打包方案的今天,選擇一款適合本身團隊的,纔是上上選擇

github https://github.com/mcxiaoke/packer-ng-plugin

做者:Xiaoke Zhang

使用:

複製代碼
buildscript {
    ......
    dependencies{
    // add packer-ng
        classpath '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版簽名模式
        v2SigningEnabled false 
      }
    }
  }
複製代碼

 

91.android-priority-jobqueue

一句話介紹:一款提供後臺任務管理能力的框架

上榜理由:若是你是個志在深刻研究多線程操做的開發者,這個項目必定不要錯過,不管是Activity從新加載、Service使用線程池時的任務優先級和併發問題,都不要擔憂,Job Manage會照顧優先級,持久性,負載平衡,延遲,網絡控制,分組,2.4K個star,優秀的多線程管理能力,何況它依賴的第三方框架不多,值得你一試

github  https://github.com/yigit/android-priority-jobqueue

做者:Yigit Boyar

 

92.Android-Debug-Database

一句話介紹:一款提供測試App內部數據庫能力的框架

上榜理由:榜單裏第二款針對調試數據庫的框架,一行代碼集成,直接在瀏覽器增刪改查App的數據庫,2.3k個star,心動不如行動!

github  https://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內的圖片的隱私問題,這款facebook提供的文件加密框架足以解決你的問題,facebook客戶端的圖片和數據都是使用conceal加密的

官網地址:http://facebook.github.io/conceal/

github https://github.com/facebook/conceal

做者;facebook

使用:

clone項目到本地/官網下載jar

 

94.ARouter

一句話介紹:一款提供服務、頁面跳轉路由的框架

上榜理由:正如做者宣稱的那樣,該框架提供:從外部URL映射到內部頁面、跨模塊的頁面跳轉(頁面解耦)、攔截跳轉過程等能力,還有更多功能等你去發掘,2.1K個star,值得爲企業級的框架喝彩

github  https://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團隊所做出的貢獻!

github https://github.com/Bilibili/MagicaSakura

做者:Bilibili

使用:

compile 'com.bilibili:magicasakura:0.1.6@aar'

 

96.CustomActivityOnCrash

一句話介紹:一款當APP crash的時候自動載入某個Activity的框架(而不是顯示Unfortunately, X has stopped)

上榜理由:新奇的創意是榜單所須要的,因此它贏得了1.8K個star;做爲開發者應該擁有考慮到各類潛伏的bug的能力,但咱們不能老是面面俱到,其餘系統端的同事也可能形成程序的意外crash,所以,如何讓程序優雅的crash->重啓值得咱們思考,這款框架就提供了這種能力

github  https://github.com/Ereza/CustomActivityOnCrash

做者:Eduard Ereza Martínez

使用:

dependencies {
    compile 'cat.ereza:customactivityoncrash:2.1.0'
}

添加到 Application class:
複製代碼
@Override
public void onCreate() {
    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(new YourCustomEventListener()) //default: null
        .apply();
}
複製代碼

 

 

97.XhsEmoticonsKeyboard

一句話介紹:最開心的開源表情解決方案

上榜理由:若是你還在發愁如何爲你的APP自制鍵盤,那麼此框架很是適合你,並且還提供表情包展現能力,1.7個star證實了它的獨特。此外做者還附贈了高仿微信鍵盤,QQ鍵盤的demo,分享給諸位

github https://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開發者大會的展現項目

上榜理由:github上有13.4k個star,位居企業級項目排行榜第一位,牛逼的開發者,權威的設計模式,標準的項目寫法,值得一試;筆者建議初學者down下源碼,找到app入口,每一個頁面走一通,配合設計模式的概念加深理解。

github https://github.com/google/iosched

做者: Google

 

2.Plaid

一句話介紹:提供設計新聞和靈感的開源app

上榜理由:標準的material design設計,新聞類app,github上9k的star量值得你摒棄市面上良莠不齊的新聞app,快點下手研究它吧!

github  https://github.com/nickbutcher/plaid

 做者: Nick Butcher

 

3.PocketHub

一句話介紹:Github的Android版

上榜理由:8.7K的star數量,Github的親生兒子,開放的源碼值得各位一探究竟

github https://github.com/pockethub/PocketHub

做者:Fadil Sutomo

使用:

down下全部源碼

 

4.Signal Android

一句話介紹:Signal是一款安全通信的短信類app,

上榜理由:7.9K的star數量,工具類app的標籤屬性,讓它在排行榜中獨一無二,若是你對短信app有興趣,能夠深刻探究一番

github https://github.com/WhisperSystems/Signal-Android

做者:WhisperSystems

使用:github上down源碼

 

5.android-UniversalMusicPlayer

一句話介紹:一款跨設備運行的多媒體app

上榜理由:googlesamples良心推薦,github擁有7.9k個star,能夠在Android手機,汽車,平板,穿戴設備上使用,對於僅僅體驗過Android手機開發的程序員,會不會很新奇呢?你值得一試!

github https://github.com/googlesamples/android-UniversalMusicPlayer

做者:Google

使用:github上down源碼

 

6.HomeMirror

 一句話介紹:若是你是個愛漂亮的傢伙那麼你必定須要這面鏡子!

上榜理由:工具類App很難再github上有一席之地,除非它提供特別新奇的功能,好比HomeMirror,github上有用7599個star,僅僅由於它提供了鏡子的功能。從如今起,Android 手機、pad,都將成爲你旅遊居家神器,值得擁有!

github  https://github.com/HannahMitt/HomeMirror

做者:Hannah Mittens 

HomeMirror初體驗:

 

7.ExoPlayer

一句話介紹:一款 替代Android原生MediaPlayer的媒體播放器

上榜理由:也許是Google對自家MediaPlayer API不甚滿意,因此誕生了ExoPlayer,ExoPlayer提供了強大的擴展API,使用它來製做多媒體播放器更快捷,更容易擴展,對多媒體播放器感興趣的同仁們能夠用它來大展身手了!6.9K個star,證實它有多受開發者們喜好,更難能難得的是,google還在更新維護着!

官網地址:https://google.github.io/ExoPlayer/

github  https://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背後的男人,他寫出的展現性項目,怎能不推薦上榜?材料設計已經炒了好幾年了,但做爲最權威的展現項目,你必定須要它,6.7個star證實了它是多麼的受歡迎。

github  https://github.com/chrisbanes/cheesesquare

做者:Chris Banes

 

9.DanmakuFlameMaster

一句話介紹:android端開源彈幕引擎

上榜理由:bilibili出品,保證了它的純種品質,而且ndk源碼也一併開源,可謂業界良心,該彈幕引擎的開源節省了不少視頻直播小夥伴的開發成本,筆者強力推薦!

github https://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的需求,這都是很棒的途徑;如何開發一套企業級sdk,是進階優秀開發工程師的必須之路,4.1k個star,facebook持久更新質量保證,你值得擁有!

github https://github.com/facebook/facebook-android-sdk

做者:facebook

使用:

 https://developers.facebook.com/docs/android

 

11.android-oss

一句話介紹:國外創意社區Kickstarter 開源的Android版客戶端

上榜理由:精緻的企業級APP,每一個頁面處理得都很棒,若是你志在成爲一個優雅工程師,這款開源項目必定適合你,3.8k個star證實了它不俗的生命力

github:https://github.com/kickstarter/android-oss

做者:kickstarter

使用;

clone源碼到本地

 

12.k-9

一句話介紹:Android端客戶端郵件App

上榜理由:還記得張小龍的成名做——FoxMail嗎?若是你想作一款移動端Email App,k-9具備很好的借鑑價值,此外對於應用層協議你也會有更深的認識

官網地址: https://k9mail.github.io/

github  https://github.com/k9mail/k-9

使用:

clone項目到本地

 

13.Timber

一句話介紹:一款音樂播放器類App

 上榜理由:3K個star,徹底按照材料設計規範,提供十幾種播放特性,並且還提供App的通用設置能力,這一點作的一樣優秀,對於志在提高開發技術的同窗值得一試

github https://github.com/naman14/Timber

做者:Naman Dwivedi

使用:

clone源碼是一個好習慣

 

14.remusic

一句話介紹:仿網易雲音樂Android版App

上榜理由:學習完Timer,是否還不太知足你的胃口?remusic能夠知足你的胃口——它甚至能夠拿去直接當上線項目了!2.9K個star,基於Timber的設計(入手的前提是先搞懂Timber)值得入手;有一個問題:若是由你重構,你會如何作呢?

github https://github.com/aa112901/remusic

做者:MW

使用:

clone項目

 

15.Douya

一句話介紹:開源豆瓣客戶端

上榜理由:一款功能全面、架構設計不俗的開源APP;僅僅是對豆瓣APP設計思路不滿而進行的重構項目,可見做者對產品的癡迷和熱愛,2.9K個star,證實該項目並非頭腦發熱一時興起的做品,若是每個idea都能實現,那咱們的世界將會多麼美妙!

github  https://github.com/DreaminginCodeZH/Douya

做者:Zhang Hai

使用:

clone項目到本地

 

16.BookReader

一句話介紹:開源小說閱讀器

上榜理由:2.7K個star,榜單裏第一款閱讀器APP,具備很高的學習價值(針對有興趣往閱讀工具類方向發展的同窗)

github https://github.com/JustWayward/BookReader

做者:JustWayward 團隊

使用:

clone到本地 

 

17.bilibili-android-client

一句話介紹:高仿bilibili的Android客戶端

上榜理由:2.5K個star,榜單裏第一款視頻直播開源App;適合對視頻直播、社區互動感興趣的同窗;bilibili-android-client裏使用了不少大型框架,此項目並不適合基礎薄弱的同窗,不要灰心,學習頁面的佈局設計也是值得的!

github  https://github.com/HotBitmapGG/bilibili-android-client

做者:Hcc

使用:clone到本地

 

18.AndroidChromium

一句話介紹:Android版chrome瀏覽器

上榜理由:正如做者宣稱的那樣:

  • 谷歌瀏覽器安卓版源碼項目
  • 世界級的安卓架構
  • 理清本項目業務邏輯徹底能夠勝任國內一線公司工程師

  對於志在梳理瀏覽器框架的你,值得擁有

github https://github.com/JackyAndroid/AndroidChromium

做者:JackYAndroid

使用:

clone源碼到本地

四.開發框架:

(排名無前後、只按類型劃分)

1.libgdx

一句話介紹:一款跨平臺的android端遊戲開發框架

上榜理由:android端開發框架類第一名,11.7K的star量,遊戲框架是它的專屬標籤,更重要的是它是跨平臺的

官網地址  http://libgdx.badlogicgames.com/

github https://github.com/libgdx/libgdx

2.xUtils

一句話介紹:老牌企業級開發框架

上榜理由:4.9K個star,xUtils做爲上古時期程序員備受推崇的開發框架,最大的緣由——省事。xUtls包含四大模塊,與之而來的是提供四大操做能力:數據操做、UI操做、Http協議操做、圖片操做。xUtils做爲筆者初學Android框架設計的導師型項目,在筆者多年經驗中,看到xUtils做爲衆多中小銀行Android端框架方案首選,足以證實它的受歡迎程度。該框架如今已經更新到了xUtils3,若是你對Android框架涉及有必定的想法,能夠從xUtils入手,進階爲框架大師行列。雖然框架中不少引擎已通過時,各個模塊的作法均可以用其餘框架替代,但xUtils做爲國內開發者的驕傲,上古時期的框架寵兒,值得你擁有!

github  https://github.com/wyouflf/xUtils

做者:wyouflf

使用:

compile 'org.xutils:xutils:3.5.0'

3.android-common

一句話介紹: 一款android快速開發框架

上榜理由:滴滴資深級Android工程師出品,歷經多年開發者的檢驗,以4.3K屹立於快速開發框架榜第三名,該框架提供了圖片緩存、Http緩存、DropDownListView、下載模塊、開發經常使用工具類等,做爲上古時期程序員最先的總結性開發框架,它是一代人智慧的結晶,值得咱們爲做者Trinea鼓掌喝彩

github  https://github.com/Trinea/android-common

做者:Trinea

使用:

clone代碼到本地

4.Vitamio

一句話介紹:一款支持跨平臺的Android多媒體開發框架

上榜理由:若是以前提到的exoplayer不能知足你開發多媒體的需求,那我保證vitamio值得你一試

官網地址:https://www.vitamio.org/

github https://github.com/yixia/VitamioBundle

做者:yixia團隊

使用:

clone源碼到本地

 

5.Weex

一句話介紹:移動端跨平臺開發的解決方案

上榜理由:14.4K個star,有成熟應用案例的企業級混合開發框架,阿里巴巴出品,爲何不試試呢?

官網地址:https://weex.apache.org/cn/

github  https://github.com/alibaba/weex

做者:alibaba

 

6.cordova-android(Hybrid 開發框架、WebApp開發框架)

一句話介紹:跨平臺的開發框架

上榜理由:cordova有足夠的能力完成混合開發、WebApp開發的需求:不論你是Web開發者,或者是Native開發者,使用cordova均可以做出跨平臺的App 

官網地址:http://cordova.axuer.com/docs/zh-cn/latest/guide/overview/index.html

github https://github.com/apache/cordova-android

 

7.react-native

一句話介紹:一款以Javascript的語言來操做多個系統語言(Ios、Android)的框架

上榜理由:很難講react-native屬於什麼類別,它適合前端工程師開發移動端App,也適合Native開發者進行跨平臺的開發,但對於Navitve開發者來講陡峭的學習曲線會嚇走一大批「框架愛好者」;前端界有一句名言:Web表明着將來,Native表明着如今,而咱們處在如今與將來的道路上;49K個star,彷佛讓咱們離將來更進一步

官網地址: http://facebook.github.io/react-native/docs/getting-started.html

github  https://github.com/facebook/react-native

做者:facebook 

 

五.其餘:

1.AndroidUtilCode

一句話介紹:提供了數量龐大的工具類

上榜理由:10.8K的star個數,足以證實它是多麼受歡迎,歡迎你提供經常使用的工具類壯大它!

github https://github.com/Blankj/AndroidUtilCode/blob/master/README-CN.md

 

File → Settings... → Plugins → Browse repositories...

and search for freeline.

 

2.kotiln

一句話介紹:Google推出的Android編程語言

上榜理由:就像AndroidStudio取代Eclipse那樣,Goolg將kotiln做爲Android的官網語言,也許是爲了不同Oracle的專利訴訟,但kotlin 100%兼容java,大幅精簡java代碼量,以及函數式編程的思想這些優異的特性贊成值得咱們注意,還記得在榜單以前說過的嗎?將來是kotlin的,當下是java的,但咱們處在當下通往將來的道路上——學習將來的編程語言,提高本身的工做效率,早點下班打豆豆,何樂而不爲?

官網地址:http://kotlinlang.org/

github:https://github.com/JetBrains/kotlin

 使用:

http://kotlinlang.org/docs/reference/   提供了 api-android用例-書籍等資源

 

 

六.書籍類項目

(排序無前後)

1.Android developer中國官網培訓課程

一句話介紹:符合中國國情的Google開發者官網的子產品——Android開發者官網

上榜理由:這裏有培訓課程、API用例課程、Sample用例、依賴庫介紹、AndroidStudio官網...等等一系列公開免費的課程,儘管大部份內容仍是英文講解,但是你肯靠着英語詞典一篇一篇啃完,相信我,你的Android知識水平將秒殺國內市面上大部分的Android書籍

官網地址:https://developer.android.google.cn/training/index.html

做者:google

 

2.android-architecture

一句話介紹:google提供的Android當下各類基本框架

上榜理由:看完它,mvp,mvvm都將入切瓜砍菜,秋風掃落葉通常...

github https://github.com/googlesamples/android-architecture

做者:google

 

3.andorid-open-project

一句話介紹:囊括Android幾乎全部的開源項目的導航類目錄

上榜理由:23k個star的導航類目錄,與其盛名不符的是,該項目的導航、瀏覽閱讀體驗作的很是差,建議消遣之餘閱讀;推薦理由——中國人作的最全的Android 開源項目導航目錄

github https://github.com/Trinea/android-open-project

做者:Trinea

 

4.awesome-android-ui

一句話介紹:Android的開源項目目錄

上榜理由:國外的一款導航目錄,23k個star

github  https://github.com/wasabeef/awesome-android-ui

 

本文轉載自:http://www.cnblogs.com/jincheng-yangchaofan/articles/7018780.html

相關文章
相關標籤/搜索