Android 開源項目2017總結

一.榜單介紹

 

排行榜包括四大類:

單一框架:僅提供路由、網絡層、UI層、通信層或其他單一功能的框架

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

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

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

 

榜單排序依據:

1.項目開源

2.github上該項目的star個數

3.開發團隊、作者的實力

 

爲了保證榜單內容的多樣性,榜單上儘可能的不重複同類型框架(比如多款listview增強框架)

 

適用讀者範圍:

  • 正在入門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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章