Android 2017框架排行(2)

45.ListViewAnimations

一句話介紹:一款為ListView提供動展示畫效果能力的框架

上榜理由:如果有一天我承認(rèn)自己老了,我還會排排我的兄弟——ListView,證明我和它一起戰(zhàn)斗過。ListViewAnimations的存在就是證明我們這些“老年人”仍有用武之地,也許你有說不出口的難處,無法體會到RecyclerView里動畫的快樂,擁有ListViewAnimations,你一樣可以驕傲的說,我的孩子(每個(gè)item)也有自己的動效啦。(筆者備注 5.6K個(gè)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框架

上榜理由:榜單上第三次出現(xiàn)RecyclerView的身影,足以證明RecyclerView的優(yōu)異性,5.5K個(gè)star,框架里所提供眾多的能力,如果你是個(gè)功利開發(fā)者,那么此框架會為你節(jié)省很多學(xué)習(xí)時(shí)間,它可以完成多item式布局的大多數(shù)需求,值得注意的是,這個(gè)項(xiàng)目也是在其他項(xiàng)目的思路上二次開發(fā)的。

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

作者:MarshalChen

使用:

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

47.uCrop

一句話介紹:一款優(yōu)雅的圖片裁剪框架

上榜理由:5.3K個(gè)star,圖片編輯模塊單獨(dú)拎出來也是一款優(yōu)雅的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

上榜理由:榜單出現(xiàn)的第一個(gè)“僅僅為告訴你如何使用另一個(gè)項(xiàng)目”的開源項(xiàng)目,它可以說是RxJava的用例,你想得到的想不到的RxJava用法這里都有,這就是為什么它以5.2k個(gè)star矗立在這份榜單里的原因。遺憾自己沒有創(chuàng)作這么一個(gè)受人追捧的demo?趕快動手寫個(gè)其他的“XX項(xiàng)目用例吧”

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

作者:kaushikgopal

使用:

clone到本地慢慢探索吧

49.AndroidAutoLayout

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

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

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

作者:張鴻洋

使用:

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

50.EffectiveAndroidUI

一句話介紹:一款講解高效展示UI的教學(xué)型App

上榜理由:編程新手很難對MVC MVP,MVVM等模式有深刻的理解,如果有一個(gè)示例型app,那對初學(xué)者會有很大裨益,筆者在遇到它時(shí)也是相見恨晚。4.8K個(gè)star,證明了它經(jīng)受了廣大開發(fā)者的考驗(yàn)與審視,其中Effective UI的編程思想更是與Android官方課程里的Effective UI課程不謀而合,并且,此項(xiàng)目還包含了fragment、dagger、主題樣式、Butterknife等眾多小知識點(diǎn),作為編程初學(xué)者的學(xué)習(xí)用例再適合不過了

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

作者:Pedro Vicente

使用:

clone項(xiàng)目到本地

51.Luban

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

上榜理由:好的思路總是可以讓你大放異彩,Luban僅以圖片壓縮單一功能,俘獲了4.8K個(gè)star,證明了它在圖片壓縮上的造詣,它可能不是最優(yōu)秀的,但它是讓你我最接近偉大的項(xiàng)目

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

作者:Curzibn

使用:

compile 'top.zibin:Luban:1.1.1'

52.DroidPlugin

一句話介紹:一款熱門的插件化開發(fā)框架

上榜理由:4.8K個(gè)star,插件化框架榜單第一名,,360團(tuán)隊(duì)出品,框架質(zhì)量有保證,有成功案例——360手機(jī)助手,并且持續(xù)維護(hù)著

github https://github.com/DroidPluginTeam/DroidPlugin/blob/master/readme_cn.md

作者:Andy Zhang

使用:

clone項(xiàng)目到本地

53. otto

一句話介紹:一款老舊且強(qiáng)大的事件總線框架

上榜理由:4.8K個(gè)star,是square團(tuán)隊(duì)早先推出的事件響應(yīng)型框架,淘寶app的事件驅(qū)動也是基于此框架封裝的,如今square已經(jīng)建議開發(fā)者采用RxJava RxAndroid來代替otto了。但otto仍有與EventBus橫向?qū)Ρ鹊膬r(jià)值,縱向來說,otto與square自家開發(fā)的Rx系列框架的差異同樣值得開發(fā)者們?nèi)ヌ骄俊?/p>

github https://github.com/square/otto

作者:square

使用:

repositories {
    mavenCentral()
    maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
}

compile 'com.michaelpardo:activeandroid:3.1.0-SNAPSHOT'

54.u2020

一句話介紹:一款提供Dagger的高級教學(xué)示例的app(額,名字是有點(diǎn)繞)

上榜理由:4.7K個(gè)star,JakeWharton牽頭開發(fā)的教學(xué)類app,教你使用Dagger在其他高級框架的用法,它展示了Dagger與ButterKnife、Retrofit、Moshi、Picasso、Okhttp、RxJava、Timber、Madge、LeakCanar等眾多優(yōu)秀框架結(jié)合起來的高級用法,你也可以借鑒到自己的項(xiàng)目當(dāng)中

github https://github.com/JakeWharton/u2020

作者:JakeWharton

55.buck

一句話介紹:buck是一個(gè)快速構(gòu)建系統(tǒng)

上榜理由:facebook+google出身的作者,對構(gòu)建代碼的出色理解,加上大型團(tuán)隊(duì)的維護(hù),以及增量更新時(shí)的快速高效,讓buck成為了微信Android團(tuán)隊(duì)構(gòu)建項(xiàng)目的首選,構(gòu)建大型項(xiàng)目時(shí),它比gradle更快,然而中小公司并不適合此框架,但作為立志在框架設(shè)計(jì)領(lǐng)域有一番作為的人們,歡迎來一探究竟

官網(wǎng)地址:https://buckbuild.com/

github https://github.com/facebook/buck

作者:facebook

使用:

linux or mac system  +docs

56.PermissionsDispatcher

一句話介紹:一款基于注解的提供解決運(yùn)行時(shí)危險(xiǎn)權(quán)限方案的框架

上榜理由:自Android6.0 Google提出危險(xiǎn)權(quán)限一詞起,用戶安全性被提到一定的高度,一些運(yùn)行時(shí)對用戶較為危險(xiǎn)的權(quán)限將不再自動被開發(fā)者獲取,需要經(jīng)過用戶批準(zhǔn),開發(fā)者才可以繼續(xù)使用該權(quán)限,如果你曾經(jīng)被權(quán)限問題搞的抓耳撓腮,建議你試試這個(gè)框架,它足夠解決你的問題

官網(wǎng)地址:https://hotchemi.github.io/PermissionsDispatcher/

github https://github.com/hotchemi/PermissionsDispatcher

作者:Shintaro Katafuchi

使用:

dependencies {
  compile('com.github.hotchemi:permissionsdispatcher:${latest.version}') {
      exclude module: "support-v13" }
  annotationProcessor 'com.github.hotchemi:permissionsdispatcher-processor:${latest.version}' }  repositories {
  jcenter()
  maven { url 'http://oss.jfrog.org/artifactory/oss-snapshot-local/' }
}

57.android-gif-drawable

一句話介紹:一款提供展示GIF動畫能力的視圖框架

上榜理由:據(jù)我所查國內(nèi)著名App——知乎使用了android-gif-drawable,因此證明了它的存在價(jià)值,盡管在榜單第十一位介紹了lottie-android直接應(yīng)用AE動畫的示例,但AE設(shè)計(jì)師不是每個(gè)公司都配備的,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個(gè)star,逆向破解apk神器!

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

官網(wǎng)地址:https://ibotpeaches.github.io/Apktool/

作者:Connor Tumbleson

59.dynamic-load-apk

一句話介紹:插件化開發(fā)框架

上榜理由:4.5k個(gè)star,位于插件化開發(fā)框架第二名(第一名來自360團(tuán)隊(duì)),全面的文檔介紹讓你很快就能上手插件化開發(fā),如果你喜歡大段文字講解,那么這個(gè)項(xiàng)目一定適合你

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

作者:singwhatiwanna

使用:

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

60.atlas

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

上榜理由:淘寶團(tuán)隊(duì)所出的精品,atlas框架提供了解耦、組件、動態(tài)的開發(fā)能力,4.5k個(gè)star讓他位列組件化開發(fā)框架第一名

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

作者:alibaba

61.volley

一句話介紹:google推薦使用的Android端網(wǎng)絡(luò)請求框架

上榜理由:4.4k個(gè)star,并不是他不夠優(yōu)秀,而是使用volley已經(jīng)漸漸成為廣大開發(fā)者的習(xí)慣

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

作者:google

使用:

clone源碼到本地

62.androidmvp

一句話介紹:一款展示Android端Mvp設(shè)計(jì)的demo

上榜理由:榜單里為數(shù)不多、僅憑展示某種設(shè)計(jì)模式就獲得4.2K個(gè)star的項(xiàng)目,如果你有嘗試mvp的打算,androidmvp可以作為你的前哨站

github https://github.com/antoniolg/androidmvp

作者:Antonio Leiva

使用:

clone到本地

63.SwipeBackLayout

一句話介紹:一款可以讓你通過滑動手勢關(guān)閉頁面的的框架

上榜理由:仿微信滑動退出當(dāng)前聊天界面的效果,提供了activity的滑動關(guān)閉能力,通過這種思路,實(shí)現(xiàn)fragment的滑動關(guān)閉輕而易舉;筆者堅(jiān)持建議諸位clone源碼到本地探索一番;4.2k個(gè)star證明很多人都喜愛它

github https://github.com/ikew0ng/SwipeBackLayout

作者:ike_w0ng

使用:

compile 'me.imid.swipebacklayout.lib:library:1.0.0'

64.FlycoTabLayout

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

上榜理由:盡管我們沒有理由為了給app加入頁面指示器功能就集成2.5M的依賴庫,但是作為了解viewpager或swip views的指示器設(shè)計(jì)原理的優(yōu)秀框架,你值得打開它試試,筆者建議單獨(dú)拆分所需源碼,加入到自己的項(xiàng)目中去。4.1K個(gè)star,二次開發(fā)的作品,仍然推薦!

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

作者:Flyco

65.android-testing

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

上榜理由:學(xué)習(xí)者經(jīng)常會陷入似懂非懂的境地,如果你有幸學(xué)習(xí)過Android Testing Support Library site的課程,那么你一定對android的四大測試框架迫不及待,這款demo非常適合你,快來學(xué)習(xí)這個(gè)4.1k個(gè)star的明星項(xiàng)目吧

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

作者:googlesampes團(tuán)隊(duì)

66.FileDownloader

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

上榜理由:4.1k證明了它有多受人喜愛,文件下載看似簡單的背后暗藏了多少的坑坑點(diǎn)點(diǎn),我知道你有能力自己實(shí)現(xiàn)文件下載功能,但優(yōu)秀的框架可以提升你的設(shè)計(jì)編碼能力,這款框架可以提升你的實(shí)力!

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

作者:LingoChamp團(tuán)隊(duì)

使用:

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

67.JieCaoVideoPlayer

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

上榜理由:榜單里第三款多媒體播放框架,它以靈巧的身姿擠入本榜單,精巧是它最大的優(yōu)點(diǎn),不到100k,擁有它,你就可以快速開發(fā)類似今日頭條那樣的視頻播放效果,4k個(gè)star,證明它值得一試

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

作者:Nathen

使用:

compile 'fm.jiecao:jiecaovideoplayer:5.5.4'

68.glide-transformations

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

上榜理由:在榜單靠前的部分已經(jīng)介紹過glide,Picasso,F(xiàn)resco等圖片加載框架,glide-transformations就是一款為他們提供圖片變形能力的框架,使用起來非常簡單,因此受到了大家的喜愛,github上有3.8K個(gè)star

github https://github.com/wasabeef/glide-transformations

作者:Daichi Furiya

使用:

repositories {
    jcenter()
}

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

在Glide里設(shè)置變幻效果

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平臺的榮譽(yù)不談,Android版的android-gpuimage就提供多達(dá)70多種圖片渲染效果,你還在好奇美圖秀秀是如何實(shí)現(xiàn)圖片變幻的?有了它,一切都不是問題。如果你是美圖工具類的工程師,此框架的建設(shè)思路也會對你大有裨益。筆者也是通過android-gpuimage仿造了美圖App并俘獲女友芳心的,再次為它的實(shí)力點(diǎn)贊。ios版+android版一共19k個(gè)star,已經(jīng)證明了它的實(shí)力,還在等什么呢?

github:https://github.com/CyberAgent/android-gpuimage

作者:CyberAgent 團(tuán)隊(duì)

使用:

repositories {
    jcenter()
}

dependencies {
    compile 'jp.co.cyberagent.android.gpuimage:gpuimage-library:1.4.1' }

更多的改造方法,還需要閱讀Ios的編程文檔,對于有毅力的小伙伴強(qiáng)力推薦!

70.RxPermissions

一句話介紹:一款基于RxJava完成權(quán)限申請的框架

上榜理由:榜單里第二款提供權(quán)服務(wù)的框架,基于RxJava的設(shè)計(jì),讓你可以專心寫業(yè)務(wù),3.7K個(gè)star已經(jīng)證明了它的實(shí)用價(jià)值

github https://github.com/tbruyelle/RxPermissions

作者: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

一句話介紹:一款動態(tài)替換的編譯構(gòu)建框架

上榜理由:繼Facebook的Buck,Androdi官方的InstRun之后,螞蟻金服推出了Freeline編譯框架,官網(wǎng)宣稱Freeline與業(yè)內(nèi)主流構(gòu)建方式相比仍然有數(shù)倍的速度領(lǐng)先;排行有先后,編譯速度并不在本榜單排序的考據(jù)因素中,因此freeline以3.7個(gè)star,暫列編譯框架第二名

官網(wǎng)地址:https://www.freelinebuild.com/

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

作者:alibaba

使用:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.antfortune.freeline:gradle:0.8.7' }
}
apply plugin: 'com.antfortune.freeline'

android {
    ...
}
File → Settings... → Plugins → Browse repositories →freeline.

72.RxLifecycle

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

上榜理由:在榜單靠前的部分,你已經(jīng)了解RxJava和RxAndroid的強(qiáng)大之處,但部分粗心的開發(fā)者因?yàn)闆]有及時(shí)取消訂閱而產(chǎn)生嚴(yán)重的內(nèi)存泄漏,不要擔(dān)心,RxLifecycle可以為你解決難題,在gtihub上擁有3.7K個(gè)star,國內(nèi)知名軟件——知乎和淘寶也都在使用它

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

作者:trello團(tuán)隊(duì)

使用:

clone源碼到本地

73.classyshark

一句話介紹:一款可執(zhí)行文件瀏覽器

上榜理由:榜單里繼Apktool之后第二款apk逆向工具,如果你喜歡優(yōu)雅的圖形數(shù)據(jù)展示,那么你一定不能錯(cuò)過他,classyshark可以將破解的結(jié)果以圖形化展示用戶,方便分析,3.7K個(gè)star,讓它暫列apk逆向工具第二位!

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

作者:google

使用:

下載 JAR

74.acra

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

上榜理由:如果你面臨著收集APP崩潰日志的需求,那么acra是個(gè)不錯(cuò)的選擇。3.7K個(gè)star,讓acra位列崩潰日志框架排行榜第一名,acra有足夠的能力記錄線上APP,并且發(fā)回服務(wù)端,acra也提供了相當(dāng)棒的崩潰日志統(tǒng)計(jì)服務(wù)端框架Acralyzer,cralyzer工作在Apache CouchDB之上,所以除了CouchDB之外,沒有必要安裝任何額外的軟件,移動端開發(fā)者也可以借此學(xué)習(xí)服務(wù)端的建設(shè),一舉兩得!

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

服務(wù)端github https://github.com/ACRA/acralyzer

作者:acra團(tuán)隊(duì)

使用:

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

75.DiskLruCache

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

上榜理由:3.7k個(gè)star并不足以說明DiskLruCache的優(yōu)秀,僅僅以管理磁盤文件能力單獨(dú)拎出來成為一個(gè)框架,作者需要很大的勇氣,很幸運(yùn),作者做到了,并且也成為Google官網(wǎng)提倡的緩存 ;如還記得上次做“一鍵清除緩存”、“查看緩存文件大小”功能是什么時(shí)候嗎?DiskLruCache一句話就可以搞定!

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

作者:JakeWharton

使用:

compile 'com.jakewharton:disklrucache:2.0.2'

或者下載 latest .jar

76.dexposed

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

上榜理由:榜單上再次出現(xiàn)熱修復(fù)框架的身影,證明App熱修復(fù)技術(shù)的火熱,dexposed提供圖形化的性能監(jiān)控、在線熱修復(fù)bug漏洞、支持AOP編程思想等,不論你是企業(yè)熱修復(fù)技術(shù)的設(shè)計(jì)者還是打算在熱修復(fù)領(lǐng)域一探究竟的新人,這款框架很適合你。3.5k個(gè)star,證明它作為一門技術(shù)框架的存在,是多么令人喜愛!

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

作者:alibaba

使用:

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

77.Litho

一句話介紹:一款提供高效構(gòu)建UI能力的框架

上榜理由:作為一款專門構(gòu)建UI的框架,Litho高效的地方在于:單獨(dú)開辟了用于渲染和布局的線程,然后將創(chuàng)建好的組件傳遞給UI線程去完成最終的渲染,使用更少的視圖層級,來提升界面的滾動速度,值得注意的是,它僅支持開發(fā)者作出不可改變的UI組件 ,3.5K個(gè)star,證明了它在構(gòu)建UI領(lǐng)域的價(jià)值,更多的妙處,期待你親自去發(fā)掘!

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

一句話介紹:一款提供構(gòu)建MVP項(xiàng)目能力的框架

上榜理由:榜單靠前的部分已經(jīng)介紹了MVC,MVVM,MVP的框架項(xiàng)目,想必此時(shí)你在構(gòu)建企業(yè)項(xiàng)目架構(gòu)上,選擇或者開發(fā)一款合適的MVP框架迫在眉睫,mosby可以作為你的第一步參考,你可以封裝它,也可以照抄它,無論如何,3.4K個(gè)star,證明了它在框架設(shè)計(jì)上有多受開發(fā)者的喜愛

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

一句話介紹:一款提供資源文件路徑混淆 的工具

上榜理由:如果你是個(gè)對APK大小很敏感的人,那么AndResGuard一定適合你,它的原理類似Java Proguard,但是只針對資源。他會將原本冗長的資源路徑變短,例如將res/drawable/wechat變?yōu)?code>r/d/a,3.4K個(gè)star,證明了在優(yōu)化APK道路上,你不是一個(gè)人在戰(zhàn)斗!

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

作者:wechat team

使用:

clone項(xiàng)目到本地,其實(shí)也就是個(gè)三兩句話的文檔

80.StatusBarUtil

一句話介紹:一款提供設(shè)置沉浸式狀態(tài)欄樣式能力的框架

上榜理由:設(shè)計(jì)師MM總是抱怨系統(tǒng)狀態(tài)欄不優(yōu)雅?那就給她一個(gè)完美的沉浸式狀態(tài)欄。StatusBarUtil可以隨心所欲的設(shè)置狀態(tài)欄樣式,3.3K個(gè)star,足以說明它有多受設(shè)計(jì)MM的喜愛

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

作者:Jaeger

使用:

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

81.robolectric

一句話介紹:一款不依賴于Android設(shè)備的單元測試框架,

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

官網(wǎng)地址:http://robolectric.org/

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

作者:robolectric

使用:

testCompile "org.robolectric:robolectric:3.3.2"

82.Fragmentation

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

上榜理由:對于Activity和Fragment使用,你一定得心應(yīng)手,但如果要做一套通用的Activity&Fragment嵌套設(shè)計(jì),想必你有點(diǎn)手足無措了,F(xiàn)ragmentation可以作為你設(shè)計(jì)Fragment管理上的第一步,3.2K個(gè)star,筆者認(rèn)為有點(diǎn)名副其實(shí)了,項(xiàng)目介紹里說的是Fragment的管理能力,但并未提供Fragment&Activity生命周期、任務(wù)棧的管理能力,因此很難直接應(yīng)用到企業(yè)項(xiàng)目當(dāng)中,但源碼當(dāng)中的設(shè)計(jì)思路,值得筆者與諸位借鑒,拾人牙慧留有余香!

github:https://github.com/YoKeyword/Fragmentation

作者:YoKey

使用:

// appcompat v7包是必須的
compile 'me.yokeyword:fragmentation:0.10.7'
// 如果想使用SwipeBack 滑動邊緣退出Fragment/Activity功能,請?jiān)偬砑酉旅娴膸?// compile 'me.yokeyword:fragmentation-swipeback:0.10.4'

83.Small

一句話介紹:輕巧的插件化框架

上榜理由:作為插件框架榜單的新成員,Small的優(yōu)點(diǎn)是輕巧,適合作為小團(tuán)隊(duì)的插件開發(fā)方案,3.1K個(gè)star,讓它獲得了酷狗音樂等著名開發(fā)團(tuán)隊(duì)的青睞,如果你們的團(tuán)隊(duì)想逐步實(shí)施插件化開發(fā),Small是個(gè)不錯(cuò)的選擇!

官網(wǎng)地址:http://code.wequick.net/Small/cn/cases

github https://github.com/wequick/Small

作者:wequick 團(tuán)隊(duì)

使用:

buildscript  {
    dependencies {
        classpath 'net.wequick.tools.build:gradle-small:1.2.0-alpha6' }
}

apply plugin: 'net.wequick.small' small {
    aarVersion = '1.2.0-alpha6' }

84.JsBridge

一句話介紹:一款提供WebView和Javascript通信能力的框架

上榜理由:該框架提供給了允許H5頁面調(diào)用通過JS調(diào)用App方法的能力;3.1K個(gè)star,簡潔的通訊方式,值得每一個(gè)Web\Hybrid App開發(fā)者嘗試

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

一句話介紹:一款強(qiáng)大的富文本編輯框架

上榜理由:2.8k個(gè)star,榜單里第一個(gè)為TextView提供擴(kuò)展能力的框架,你暫時(shí)不需要它,但不能不知道它

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 轉(zhuǎn)場動畫API)的教學(xué)型項(xiàng)目

上榜理由:你可能還未嘗試過Android API的Transitions 框架,可能聽過,但卻無法做出優(yōu)雅奇妙的動效——別擔(dān)心,Transitions-Everywhere正如它的名字一樣,它將帶你全面體驗(yàn)Transitions 的強(qiáng)大之處

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

作者:Andrey Kulikov

使用:

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

87.android-viewbadger

一句話介紹:能夠快速的為Android 視圖加入“勛章”能力的框架

上榜理由:如果說勛章一詞聽起來陌生,那么顯示已讀未讀個(gè)數(shù)、小紅點(diǎn)標(biāo)記信息這一類詞語你一定不太陌生,筆者相信在諸位實(shí)際開發(fā)中經(jīng)常遇到為某些item加入小紅點(diǎn)標(biāo)記的需求,聰明的各位一定有著各種實(shí)現(xiàn)方案,為什么不能快速優(yōu)雅的完成呢?android-viewbadger可以幫你實(shí)現(xiàn),當(dāng)然,在某些情況下,你需要具備修改源碼的能力,以符合設(shè)計(jì)MM的需求!值得注意的是,這寬項(xiàng)目已經(jīng)五年沒有更新了!

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

一句話介紹:一款不用數(shù)據(jù)線也可以讓你調(diào)試手機(jī)設(shè)備APP的插件項(xiàng)目

上榜理由:你是否還在擔(dān)心測試過程中高強(qiáng)度的拔插數(shù)據(jù)線對手機(jī)電池和USB端口造成終生難以彌補(bǔ)的損害?別擔(dān)心,有wifi有AndroidWiFiADB,無須數(shù)據(jù)線也可以調(diào)試應(yīng)用了,更有趣的是,在測試工程師一邊拿著手機(jī)一邊找你聊bug的時(shí)候,你已經(jīng)偷偷在它的手機(jī)上修復(fù)了bug,深藏功與名!

github https://github.com/pedrovgs/AndroidWiFiADB

作者:Pedro Vicente Gómez Sánchez

使用:

Preferences/Settings->Plugins->Browse Repositories->serch AndroidWiFiADB

89.emojicon

一句話介紹:一款提供在TextView、EdiText展示表情包能力的框架

上榜理由:2.7k個(gè)star,,榜單第二款增強(qiáng)TextView顯示能力的框架,這款專為表情包設(shè)計(jì),如果你曾經(jīng)好奇微信、QQ的表情顯示是如何做到的?這款框架一定能滿足你的求知欲。

90.packer-ng-plugin

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

上榜利用:筆者盡力維護(hù)榜單涉及范圍的全面性,因此引入此插件項(xiàng)目——項(xiàng)目號稱完成100個(gè)渠道包只需要10秒鐘,在市面上各種各樣多渠道打包方案的今天,選擇一款適合自己團(tuán)隊(duì)的,才是上上選擇

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 { // 滿足下面兩個(gè)條件時(shí)需要此配置 // 1\. Gradle版本 >= 2.14.1 // 2\. Android Gradle Plugin 版本 >= 2.2.0 // 作用是只使用舊版簽名,禁用V2版簽名模式
        v2SigningEnabled false }
    }
  }

91.android-priority-jobqueue

一句話介紹:一款提供后臺任務(wù)管理能力的框架

上榜理由:如果你是個(gè)志在深入研究多線程操作的開發(fā)者,這個(gè)項(xiàng)目一定不要錯(cuò)過,不論是Activity重新加載、Service使用線程池時(shí)的任務(wù)優(yōu)先級和并發(fā)問題,都不要擔(dān)心,Job Manage會照顧優(yōu)先級,持久性,負(fù)載平衡,延遲,網(wǎng)絡(luò)控制,分組,2.4K個(gè)star,優(yōu)秀的多線程管理能力,況且它依賴的第三方框架很少,值得你一試

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

作者:Yigit Boyar

92.Android-Debug-Database

一句話介紹:一款提供測試App內(nèi)部數(shù)據(jù)庫能力的框架

上榜理由:榜單里第二款針對調(diào)試數(shù)據(jù)庫的框架,一行代碼集成,直接在瀏覽器增刪改查App的數(shù)據(jù)庫,2.3k個(gè)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提供的加密本地大文件的框架

上榜理由:如果還在擔(dān)心App內(nèi)的圖片的隱私問題,這款facebook提供的文件加密框架足以解決你的問題,facebook客戶端的圖片和數(shù)據(jù)都是使用conceal加密的

官網(wǎng)地址:http://facebook.github.io/conceal/

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

作者;facebook

使用:

clone項(xiàng)目到本地/官網(wǎng)下載jar

94.ARouter

一句話介紹:一款提供服務(wù)、頁面跳轉(zhuǎn)路由的框架

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

github https://github.com/alibaba/ARouter

作者:alibaba

使用:

android {
    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提供的多主題框架,作為榜單所涉及范圍能補(bǔ)充,1.9個(gè)star,感謝bilibili團(tuán)隊(duì)所作出的貢獻(xiàn)!

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

作者:Bilibili

使用:

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

96.CustomActivityOnCrash

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

上榜理由:新奇的創(chuàng)意是榜單所需要的,所以它贏得了1.8K個(gè)star;作為開發(fā)者應(yīng)該擁有考慮到各種潛伏的bug的能力,但我們不能總是面面俱到,其他系統(tǒng)端的同事也可能造成程序的意外crash,因此,如何讓程序優(yōu)雅的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

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

上榜理由:如果你還在發(fā)愁如何為你的APP自制鍵盤,那么此框架非常適合你,而且還提供表情包展示能力,1.7個(gè)star證明了它的獨(dú)特。此外作者還附贈了高仿微信鍵盤,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' }

98.Android Debug Database

一句話介紹:最簡潔的數(shù)據(jù)庫調(diào)試框架

span style="font-size: 15px">上榜理由:調(diào)試數(shù)據(jù)庫,是諸位日常工作中必不可少的環(huán)節(jié),與榜單里出現(xiàn)過facebook的stetho,Android Debug Database最大的優(yōu)勢是簡潔:集成簡潔明了,觀察、操作數(shù)據(jù)庫簡潔明了,還有一個(gè)不得不得推薦它的理由!stetho在數(shù)據(jù)表字段數(shù)超過50的時(shí)候閱讀性非常差,今天推薦的這款,在UI界面上毫無疑問有著巨大的優(yōu)勢!

span style="font-size: 15px">github [https://github.com/amitshekhariitbhu/Android-Debug-Database(https://github.com/amitshekhariitbhu/Android-Debug-Database)

作者:AMIT SHEKHAR

使用:

build.gradle:

debugImplementation 'com.amitshekhar.android:debug-db:1.0.3'

//配置端口

 debug {
            debuggable true
            resValue("string", "PORT_NUMBER", "9081")
    }


adb forward tcp:9081 tcp:9081


查看Logcat的ip日志:D/DebugDB: Open http://XXX.XXX.X.XXX:8080 in your browser

boomb!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容