Blog post link

Description: Boring to write a note – type article. Limited energy, many mistakes, limited by time and ability, failed to timely modify, faint regret, inspired by readers, so this article will be published, aimed at calling on everyone to edit, participate in, let this ranking help more Android developers.

There are four categories:

Single framework: a framework that provides only routing, network layer, UI layer, communication layer, or other single functionality

Hybrid development framework: provides the framework for developing hybrid APP, h5 and WebView combination ability, and Web App ability

Enterprise-level open source projects: apps that can run independently and have high learning value and reference significance

Open source books projects: navigation projects like open-sourc-project; Tips for learning Android courses from large companies

The ranking is based on:

1. Open source project

2. Number of stars of the project on Github

3. Strength of development team and author

In order to ensure the diversity of the list, the list should not duplicate the same type of framework as much as possible (e.g. multiple ListView enhancement frameworks).

Scope of application:

  • New to Android ~~Android junior developers are just starting out

Read “book navigation project list”, practice more progress will be greater; Compiling, running and thinking about the case of Enterprise Open Source Projects can improve the ability to develop complete projects; ; Skimming “frame top 100 list”, the biggest effect is to expand the horizon, you can see a lot of popular nouns and concepts

  • Android junior developers ~~ mid-level developers know what’s going on

Proficient, fast and efficient writing of typical cases in “Enterprise Open Source Project” (I am interested in), to improve the confidence of writing code, improve the overall design ability of project functions; Studying the principle of the top frame of the “top 100 list” will make you more show-off capital when you get together with your family, colleagues and classmates. If you can use the framework mentioned in the Framework Top 100 list, you will immediately come up with the “best framework” to solve a need, which means you are not too far away from the intermediate engineer

  • Intermediate, senior and senior engineers know what it is and know what it can’t be

The buzzwords and buzzwords mentioned in the Framework Top 100 list — the ability to use them, to understand their principles, and to explain the framework — will keep you hovering in these three levels;

We will consciously merge several frameworks of the same type in the list to make up for some shortcomings of a single framework. For example, Volley and Okhttp, both network request frameworks, will be packaged together to meet the needs of different scenarios.

Consciously re-develop and modify the source code to extend the larger frameworks mentioned in the list;

The ability to push and deploy frameworks on the development team — for example, to convince leaders and project members to use hot updates, plug-ins, componentization, hybrid, etc., on a new, unfamiliar team?

  

The higher the ranking of the framework, the higher the priority it is worth using, the more the research principle will gain, and the more value it will inspire readers

Top 100 frames list

Fast index

Name of the framework List keywords
1.Retrofit network
2.okhttp network
3.Butter Knife The code template
4.MPAndroidChart The chart
5.glide The code template
6.leakcanary memory
7.Android-Universal-Image-Loader The picture
8.EventBus The event message
9.zxing Barcode scanning
10.picasso The picture
11.lottie-android animation
12.fresco The picture
13.RxAndroid asynchronous
14.SlidingMenu The menu
15.PhotoView The picture
16.material-dialogs UI
17.droid-async-http network
18.androidannotations annotations
19.fastjson json
20.Material-Animations animation
21.tinker Hot repair
22.ViewPagerIndicator UI
23.Android-CleanArchitecture architecture
24.Android-PullToRefresh The refresh
25.flexbox-layout UI
26.AndroidSwipeLayout UI
27.realm-java The database
28.greenDAO data
29.stetho debugging
30.BaseRecyclerViewAdapterHelper UI
31.AndroidViewAnimations animation
32.MaterialDrawer The menu
33.Android-ObservableScrollView UI
34.CircleImageView The picture
35.logger debugging
32.MaterialDrawer The menu
36.agera asynchronous
37.BottmBar The menu
38.Calligraphy The font
39.AndroidSlidingUpPanel UI
40.AppIntro UI
41.recyclerview-animators animation
42.dagger Dependency injection
43.Android-Bootstarp UI
44.RxBinding responsive
45.ListViewAnimations animation
46.UItimateRecyclerView The picture
47.uCrop UI
48.RxJava-Android-Samples Use cases
49.AndroidAutoLayout adapter
50.EffectiveAndroidUI performance
51.Luban The picture
52.DroidPlugin pluggable
53.otto responsive
54.u2020 Use cases
55.buck build
56.PermissionsDispatcher permissions
57.android-gif-drawable GIF
58.Apktool decompiling
59.dynamic-load-apk pluggable
60.atlas pluggable
61.volley network
62.androidmvp Use cases
63.SwipeBackLayout gestures
64.FlycoTabLayout UI
65.android-testing test
66.FileDownloader download
67.JieCaoVideoPlayer multimedia
68.glide-transformations The picture
69.android-gpuimage The picture
70.RxPermissions permissions
71.freeline compile
72.RxLifecycle The life cycle
73.classyshark decompiling
74.acra Crash logs
75.DiskLruCache file
76.dexposed Hot repair
77.Litho performance
78.mosby MVP
79.AndResGuard confusion
80.StatusBarUtil The status bar
81.robolectric test
82.Fragmentation nested
83.Small pluggable
84.JsBridge hybrid
85.richeditor-android UI
86.Transitions-Everywhere animation
87.android-viewbadger medal
88.AndroidWiFiADB debugging
89.emojicon Expression package
90.packer-ng-plugin multi-channel
91.android-priority-jobqueue multithreading
92.Android-Debug-Database debugging
93.conceal encryption
94.ARouter Page routing
95.MagicaSakura More topics
89.96. CustomActivityOnCrash collapse
97.XhsEmoticonsKeyboard The keyboard

1. Retrofit

Retrofit is a type-safe networking framework based on the HTTP protocol for Android and Java languages

Why we’re on the list: Retrofit is the no. 1 Android subtitle on Github with 21.8K stars.

Website address square. Making. IO/retrofit

Making github.com/square/retr…

By: The Square Team

Use:

The compile 'com. Squareup. Retrofit2: retrofit: 2.3.0'Copy the code

2.okhttp

Okhttp is a network framework based on HTTP and HTTP2.0 protocols, serving Java and Android clients

Okhttp is the # 2 Android subtitle on Github with 20.4K stars. Large companies like Taobao also package okHTTP. The okHTTP framework was built into Retrofit2.0. Retrofit was focused on encapsulating interfaces to meet business requirements, and OkHTTP was focused on making network requests secure and efficient. I separated the two frameworks so that future learners would know that they were two sets of frameworks and that they could learn the principles of frameworks separately to avoid confusion.

Square.github. IO /okhttp/

Making github.com/square/okht…

By: The Square Team

Use:

The compile 'com. Squareup. Okhttp3: okhttp: 3.8.0'Copy the code

3.Butter Knife

In a word: Butter Knife provides the ability to use annotations to generate template code that binds views to methods and parameters.

Reasons for inclusion: Github has 16.5k stars, and the Butter Knife plugin from Androidstudio helps developers avoid frequent findviewbyid. The latest Butter Knife also provides onclick binding and string initialization. For starters, check out Butter Knife and the Butter Knife plugin for further learning!

Website address: jakewharton. Making. IO/butterknife…

Github:github.com/JakeWharton…

JakeWharton is a member of the square team

Use:

Dependencies {the compile 'com. Jakewharton: butterknife: 8.6.0 annotationProcessor 'com. Jakewharton: butterknife - compiler: 8.6.0'}Copy the code

4.MPAndroidChart

MPAndroidChart is a chart framework

List reason: github 16.1K stars for fast, simple. Powerful charting framework

Official website github.com/PhilJay/MPA…

Making github.com/PhilJay/MPA…

Author: PhilJay

Use:

1. Add Gradle dependencies to AS

  • To build. Gradle in the root directory, add:

  • allprojects {
        repositories {
            maven { url "https://jitpack.io" }
        }
    }Copy the code
  • Add to build.gradle in your app:

  • Dependencies {the compile 'com. Making. PhilJay: MPAndroidChart: v3.0.2'}Copy the code

5. glide

Glide is an “Image loading and caching framework” focused on providing smooth swiping capabilities

Gilde is one of the most popular frameworks for image loading. The Camera App presented by Google at developer Conference 2014 is based on the Gilde framework

Making github.com/bumptech/gl…

By the Bump Technologies team

Use:

Dependencies repositories {mavenCentral ()} {the compile 'com. Making. Bumptech. Glide: glide: 3.8.0' compile 'com. Android. Support: support - v4:19.1.0'}Copy the code

6.leakcanary

A memory detection framework for Java and Android clients

Convenience and simplicity are the biggest features of LeakCanary, which can be used directly by integrating in apllication. 15.5K stars shows how popular it is

Making github.com/square/leak…

By Square Team

Use:

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'}Copy the code

Write to 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... }}Copy the code

7.Android-Universal-Image-Loader

In a word: once the king of image-loading frameworks, android developers have used it

The biggest difference between UIL and Gilde is that it can be customized. UIL provides a large number of configuration methods, image loading state callback (success, failure, in progress), loading animation, etc. It also provides the cache idea of mobile image loading framework: three-level cache strategy SD card-memory network; It’s worth noting that UIL hasn’t been updated for two years, but I still recommend it!

Making github.com/nostra13/An…

The author nostra13

Use:

Download universal image-loader-1.9.5.jar

8.EventBus

EventBus is a communication framework for local components

Component communication framework STAR It can be found in Activities, Fragments, Threads, and Services for large projects. Although EventBus is limited in passing events to uncreated components, it is only suitable for passing messages between “living” components. But it still does not prevent it active in each large project in each scene.

Website address greenrobot.org/eventbus/do…

Making github.com/greenrobot/…

The author greenrobot

Use:

The compile 'org. Greenrobot: eventbus: 3.0.0'Copy the code

9.zxing

In a word: barcode image processing library

Why you’re on the list: If you’ve ever used a QR code, you’ve probably already used zxing indirectly. 13.9K star volume, so that it ranked in the ninth in this list, deserving, if you have the need to understand two-dimensional code, might as well from understanding, modify its source code.

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

The author Sean Owen

10.picasso

In a word: powerful picture download, cache framework

Why you’re on this list: The third image framework to appear on this list, unlike Picasso, emphasizes image downloads. You can integrate Picasso into your project, or you can combine Gilde and UIL with Picasso, and package all three into your project as needed.

Website address square. Making. IO/Picasso was

Making github.com/square/pica…

By Square Team

Use:

The compile 'com. Squareup. Picasso was: Picasso was: 2.5.2'Copy the code

Or download

The jar package

11.lottie-android

Adobe Afeter Effect (AE) is a framework for quickly displaying animations created by Adobe Afeter Effect (AE) tools on Android

Reasons for inclusion: The first place in the animation category, 13.3k STAR on Github proves its advantages, using json files to quickly achieve animation Effects is its biggest convenience, and this json file is also provided by Adobe After Effects (AE) tools. Install a Bodymovin plugin in After Effects and use this plugin to generate a JSON file for animation effects. This JSON file can be parsed by LottieAnimationView to generate gorgeous animation effects. It’s also cross-platform.

Making github.com/airbnb/lott…

By: Airbnb team

12.fresco

A frame that can manage picture memory

Facebook’s origins prove that it is not just a wheel that has been made over and over again. It has its own way of managing image memory. Incremental loading and loading giFs are unique features compared to the top three

Official website: www.fresco-cn.org/

Making github.com/facebook/fr…

The author facebook

Use:

Dependencies {/ / other depend on the compile 'com. Facebook. Fresco ": fresco" : 0.12.0'}Copy the code

The following dependencies need to be added as required:

Dependencies {/ / in API < 14 machine support WebP, you need to add the compile 'com. Facebook. Fresco ": animated - base - support: 0.12.0' / / support GIF dynamic figure, You need to add the compile 'com. Facebook. Fresco ": animated - GIF: 0.12.0' / / support WebP (static figure + dynamic figure), You need to add the compile 'com. Facebook. Fresco ": animated - webp: 0.12.0' compile 'com. Facebook. Fresco" : webpsupport: 0.12.0' / / support webp only Static graph, you need to add the compile 'com. Facebook. Fresco ": webpsupport: 0.12.0'}Copy the code

13.RxAndroid

A framework for asynchronous communication between Android client components

Github has 12.7K stars, ranking second on the component communication framework list, just behind EventBus, which replaces cumbersome interfaces between components, and RxAndroid, which replaces AnsyTask. Of course, the advantages of RxAndroid are not limited to this, more elegant implementation, you can go to the official website!

Making github.com/ReactiveX/R…

The author JakeWharton

Use:

The compile 'IO. Reactivex. Rxjava2: rxandroid: 2.0.1' compile 'IO. Reactivex. Rxjava2: rxjava: 2.1.0'Copy the code

14.SlidingMenu

In a word: slide menu bar frame

The same name as Userval-image-loader, the ancient artifact framework provides your app with the ability to swipe the menu bar. Github flash has 10.5K stars, which proves its enduring popularity. Even with the launch of NavigationDrawer in Google, it still hasn’t reduced developers’ support for SildingMenu. The classic has always stood the test, and it hasn’t been updated for four years. There are so many apps that use it, all of which can be seen on the open source license of the software!

Making github.com/jfeinstein1…

The author Jeremy Feinstein

Use:

Fork the source code on gihub and integrate it into the project

15.PhotoView

An ImageView display framework that supports zooming and gestures

Reasons for inclusion: PhotoView is different from the top four in that it brings the ability to display pictures. You must be curious about how wechat’s avatar click to enlarge is realized, and how many apps display pictures in response to gesture presses. Learn about PhotoView. You’ll have fun! (I’m not going to tell you how ImageView zoomed in on the Android sample)

Making github.com/chrisbanes/…

Author: chrisbanes

Use:

Add the following to build. Gradle in your app root directory: Maven {url "https://jitpack.io"}} add allProjects {repositoriesrepositories {maven {url "https://jitpack.io"}}} to the app's module directory build.gralde:  dependencies { compile 'com.github.chrisbanes:PhotoView:latest.release.here' }Copy the code

use

<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);Copy the code

16.material-dialogs

A custom Dialog framework

9.9K star, is also the third custom View frame after PhotoView, SlidingMenu, maybe you are new to custom View, Dialog is still a little unfamiliar, you can improve your Dilaog ability through it

Making github.com/afollestad/…

By Aidan Follestad

Use:

dependencies { // ... Other dependencies here compile 'com.afollestad.material-dialogs:core:0.9.4.5'}Copy the code

17.droid-async-http

A network framework for asynchronous request based on Http protocol,

Why we’re on the list: While there are countless reasons to use Retrofit + OKHTTP, 9.8K stars prove it’s still worth learning in depth. It’s also worth noting that it hasn’t been updated in two years, so take that as an excuse for laziness!

Making github.com/loopj/andro…

By James Smith

Use:

repositories { maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' } } dependencies { compile 'com. Loopj. Android: android - async - HTTP: 1.5.0 - the SNAPSHOT'}Copy the code

18.androidannotations

A quick development framework based on annotations

Annotations, like Butterknife, are annotation-based, and use annotations to quickly initialize a view. Androidannotations provide much more power than a simple threading model; I’ve only touched Butterknife, so I can’t further describe the advantages of androidannotations. If you’re interested in learning more about annotations, give them a try!

The website is androidannotations.org/

Making github.com/androidanno…

Author: WonderCsabo

19.fastjson

A framework based on JSON parsing and generation

It is easy to see from its name, fast is its biggest feature, Alibaba’s origin to ensure the quality and superior code, 9.4K star number, is also the list of the first Chinese open source framework, involving the network app will use JSON, FastJSON is worth as your first choice!

Making github.com/alibaba/fas…

Author: alibaba,

Use:

The compile 'com. Alibaba: fastjson: 1.1.58. Android'Copy the code

20.Material-Animations

In a word: an animation framework that provides the ability to transition scenes

Unlike Lottie-Android, which tops the list of animation frameworks, Matery-Animations provide scenario-switching Animations. Transition-animations can be difficult for beginners to quickly develop into their own projects. The example of “Material-Animations” can be used in Animations in your own apps.

Making github.com/lgvalle/Mat…

By Luis G. Valle

Use:

Down source code, modify learning

21.tinker

In a word: it is the official website of wechat Android hot patch solution

Reasons on the list: 9.1K star, wechat in the use of hot patch scheme, not action

Website address www.tinkerpatch.com/Docs/intro

Making github.com/Tencent/tin…

Author: Tencent

22.ViewPagerIndicator

An open source framework for page indicators based on ViewPager

Why it’s on the list: Although it hasn’t been updated for five years, you can still see it in use on taobao and other apps. Its 8.9K star rating makes it stand out in the list without losing its cool

The official website is viewpagerindicator.com/

Making github.com/JakeWharton…

Author: JakeWharton

Use:

Download address https://github.com/JakeWharton/Android-ViewPagerIndicator/zipball/master

23.Android-CleanArchitecture

Introduction in one sentence: a demo explaining the design framework

It’s not a framework, but it’s a book that teaches you how to design simple architectures. There’s a sample app in the project that gives you a deeper understanding of the architecture of the Android client with illustrations and illustrations. The 8.8K star count proves that it is a “good book” yo.

Making github.com/android10/A…

By Fernando Cejas

24.. Android-PullToRefresh

A view framework that provides a refreshing UI for common views

Reasons for inclusion: 8.2K star number makes it ranked the top of the refresh class UI framework, strong compatibility, the framework supports ListView, GrdiView, WebViewScrollView, ViewPager and many other views to increase the ability to refresh, if you have the need to increase the pull-up loading, pull-down loading, You should consider it!

Making github.com/chrisbanes/…

By Chris Banes

Use:

Github fork source code, integrated into the project

25.flexbox-layout

In a word: an elastic telescopic layout

FlexboxLayout is an alternative to LinearLayout and RelativeLayout, and is also available with ConstraintLayout.

Making github.com/google/flex…

Author: Google

Use:

Dependencies {the compile 'com. Google. Android: flexbox: 0.3.0 - alpha3'}Copy the code

26.AndroidSwipeLayout

In a word: very powerful sliding layout

Swipelayout on AndroidSwipeLayout has 8K stars on Github, proving that it has withstanding the test

Making github.com/daimajia/An…

Author: daimajia

Use:

Dependencies {the compile 'com. Android. Support: recyclerview - v7:21.0.0' compile 'com. Android. Support: support - v4:20. +' The compile "com. Daimajia. Swipelayout: library: 1.2.0 @ aar"}Copy the code

Or download

AndroidSwipeLayout – v1.1.8. Jar

27.realm-java

Realm is a mobile database framework

List reason: the core data engine C++ build, than the ordinary Sqlite database much faster. My guess is that this is the case, as Realm’s 7,892 star count puts it ahead of GreenDao (7877), the well-known database framework

Realm. IO /cn/ realm. IO /

Making github.com/realm/realm…

By: The Realm Team

Use: realm. IO/docs/Java/l…

28.greenDAO

GreenDAO is an efficient and fast SQLite-type database

Reasons for inclusion: GreenDAO has the same number of stars as Realm and is developed and maintained by The GreenRobot team as EventBus. The quality of greenDAO is guaranteed. I’m sorry I can’t say this in just a few words

Official website: greenrobot.org/greendao/

Making github.com/greenrobot/…

Use:

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 the plugin}} -- -- -- -- -- apply plugin: 'com.android.application' apply plugin: 'org. Greenrobot. Greendao' / / apply plugin dependencies {the compile 'org. Greenrobot: greendao: 3.2.2' / / the add library}Copy the code

29.stetho

An open source framework that provides the ability to debug Android apps on Chrome developer Tools

Reasons for inclusion: Ancient Android programmer to debug a local database, it is necessary to enter the Android Device Monitor find/data/data/com. XXX. XXX/databases in the db files, exported to the PC, check with PC data tools, Using Stetho now saves such trouble; Today’s Android programmers if you want to debug the network request response process in the message segment, need to add Log statement in the request, one information one information print out, quite tedious, now please use Stetho, save such trouble! 7.8K star number, the majority of Android developers debugging Gospel, you deserve it!

Author: FaceBook

Website address: facebook. Making. IO/stetho /

Making github.com/facebook/st…

Use:

The compile 'com. Facebook. Stetho: stetho: 1.5.0'Copy the code

30.BaseRecyclerViewAdapterHelper

In a word: strong, smooth Recyvlerview universal adapter

If you are a RecyclerView user, you must experience this special service of the view adapter, 7.7K star, make this guy on github Android adapter list no. 1, there are many surprises waiting for you to explore!

Official website: www.recyclerview.org/

Author: Chen Yuming and his companions

Use:

allprojects {
    repositories {
        ...
        maven { url "https://jitpack.io" }
    }
}

dependencies {
        compile 'com.github.CymChad:BaseRecyclerViewAdapterHelper:VERSION_CODE' }Copy the code

31.AndroidViewAnimations

In a word: a framework that provides a collection of cute animations

Why we love it: As the author points out, it captures all the animation effects of the development requirements, integrated into a simple and cute animation framework. With a star rating of 7.6K, it proves its strength in Animations, putting it in third place behind lottie-Android and Matery-Animations

Making github.com/daimajia/An…

Author: daimajia

Use:

Dependencies {the compile 'com. Android. Support: support - compat: 25.1.1' compile 'com. Daimajia. Much: library: 2.0 @ aar' compile 'com. Daimajia. Androidanimations: library: 2.2 @ aar'}Copy the code

Sample:

YoYo.with(Techniques.Tada)
    .duration(700)
    .repeat(5)
    .playOn(findViewById(R.id.edit_area));Copy the code

32. MaterialDrawer

One word introduction: powerful plastic style drawer frame

List reasons: 7.6K star number, the author’s constant update status, if you are still hesitant to use SlidingMenu buggy and unmanaged predicament, then you can get it as your drawer layout

Making github.com/mikepenz/Ma…

By Mike Penz

Use:

The compile (' com. Mikepenz: materialdrawer: 5.9.2 @ aar ') {transitive = true}Copy the code
new DrawerBuilder().withActivity(this).build();Copy the code

33.Android-ObservableScrollView

In a word: a sliding frame that allows the view to slide more visually

The 7.5K star count proves it was worth it, github offers 12 swiping effects that you can use to complement other frameworks and improve your App experience!

Making github.com/ksoichiro/A…

By Soichiro Kashima

Use:

compile com.github.ksoichiro:android-observablescrollviewCopy the code

34.CircleImageView

Round corner ImageView

Reasons for inclusion: Maybe you have heard of countless ways to show pictures with rounded corners, but if you don’t try try CircleImageView, then your knowledge base will be less because it overshadowed, complete demand is developers to give priority to, sometimes different implementation methods involving the performance difference of let a person more worthy of reflection, if you are intentional dabbled in graphics performance, Then CircleImageView won’t let you down. Don’t forget to check out Romain Guy’s tips.

Making github.com/hdodenhof/C…

By Henning Dodenhof

Use:

dependencies { ... The compile 'DE. Hdodenhof: circleimageview: 2.1.0'}Copy the code
<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"/>Copy the code

35.logger

A framework for elegant log display

Logger, as a debugging framework, does not provide very powerful capabilities. Its biggest highlight is the elegant output of log information, and supports a variety of formats: thread, Json, Xml, List, Map, etc. If you are addicted to the vast sea of log information can not help themselves, Logger is your beacon! 6.6K Stars put him in second place behind Facebook’s Stetho

Making github.com/orhanobut/l…

By Orhan Obut

Use:

The compile 'com. Orhanobut: logger: 2.1.1'Copy the code
Logger.d(MAP);
Logger.d(SET);
Logger.d(LIST);
Logger.d(ARRAY); Logger.json(JSON_CONTENT);
Logger.xml(XML_CONTENT);Copy the code

36.agera

A responsive programming framework for the Android platform

Reasons for inclusion: Google has launched a responsive programming framework for Android developers, which is lighter than RxJava RxAndroid, the most responsive programming framework. The biggest difference between the two is that Agera is based on push events and pull data (VS Rx series push data).

Making github.com/google/ager…

Author: Google

Use:

The compile 'com. Google. Android. Agera: agera: 1.3.0'Copy the code

Ability to scale

The 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'Copy the code

37.BottmBar

A bottom navigation bar view frame

Why we’re on the list: The King frame in the bottom bar, with a 6.3K star count, proves it’s excellent, completely following the material design specifications, and very easy to use. If there are disadvantages, such as the inability to set the spacing between icon and Titile, and the inability to customize the size of view, etc., these can be solved by modifying the source code. The author also modified a set of bottom navigation framework suitable for domestic developers, which will be open source.

Making github.com/roughike/Bo…

By Iiro Krankka

Use:

The compile 'com. Roughike: bottom - bar: 2.3.1'Copy the code

38.Calligraphy

In a word: a custom font frame

If you’re struggling to modify all of the fonts in your App in one click, the 6.3k Star Calligraphy App is worth it. It can modify the entire Textview font in one program at the same time, or set the font of a single Textview.

Making github.com/chrisjenx/C…

By Christopher Jenkins

Use:

Dependencies {the compile 'UK. Co. chrisjenx: calligraphy: 2.3.0'}Copy the code

39.AndroidSlidingUpPanel

In a word: draggable sliding panel view frame

Why you’re on the list: If your project requires a draggable sliding panel (showing details, playing music, map information, etc.), it’s recommended that you use it. 6.3k Stars, from startup Umano, prove it’s a masterpiece of heart

Making github.com/umano/Andro…

Author: umano

Use:

The compile dependencies {repositories {mavenCentral ()} 'com. Sothree. Slidinguppanel: library: 3.3.1'}Copy the code

40.AppIntro

In one sentence: a framework for making welcome pages quickly

I have never planned to include the welcome page framework in the list, as a domestic developer, ViewPager App development welcome page has been a handy demand, why an open source welcome page framework on Github has 6.3k stars? Perhaps you will disdain, yes, often dismissive of the moment, the opportunity quietly slipped away.

Making github.com/apl-devs/Ap…

By Paolo Rotolo

allprojects { repositories { ... Maven {url 'https://jitpack.io'}} dependencies {compile 'com.github. Apl -devs:appintro:v4.2.0'}Copy the code

41.recyclerview-animators

In a word: a framework for Recyclerview to provide the ability to expand animation

Why you love it: There’s an old saying that says you’re old if you lose interest in new things. Recyclerview has been launched nearly three years, still use listView people, whether has discovered their own gradually become old; Add recyclerView-Animators to your recyclerview-animators framework and add fresh blood and energy to your own projects! (author note: 6.2k stars)

Making github.com/wasabeef/re…

The author; github.com/wasabeef

Use:

Dependencies {// jCenter compile 'jp. Wasabeef :recyclerview-animators:2.2.6'}Copy the code

42.dagger

A development framework that reduces inter-program coupling through dependency injection

Dagger1 has 6.2k stars and Dagger2 has 7.3k. From Square’s Version 1 to today’s Google team’s version 2, a strong development team ensured that the code was superior in design; This is also a good place to explore design patterns in the Android space.

IO /dagger/

Making: github.com/google/dagg…

Author: Google

Use:

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'Copy the code

43.Android-Bootstarp

A framework for implementing Bootstrap (Web framework) effects on Android applications

Flexbox-layout is the second Android framework that responds to web technology. As an Android developer, you need to understand web technology. 5.9k stars, proving it is not to be sniffed at

Making github.com/Bearded-Hen…

Bearded Hen and the Team

Use:

dependencies {
   compile 'com.beardedhen:androidbootstrap:{X.X.X}' }Copy the code

44.RxBinding

A framework that provides event responsiveness for UI components

If you haven’t already started your RxAndroid journey, the RxBinding can be your first stop. With RxBinding, you will understand the joy of responsive programming and make the flow of events in your project clearer. 5.6K star, RxAndroid author personally, come to try it!

Making github.com/JakeWharton…

Author: JakeWharton

Platform bindings: the compile 'com. Jakewharton. Rxbinding2: rxbinding: 2.0.0' 'support - v4 library bindings: The compile 'com. Jakewharton. Rxbinding2: rxbinding - support - v4:2.0.0' 'appcompat - v7 library bindings: The compile 'com. Jakewharton. Rxbinding2: rxbinding - appcompat - v7:2.0.0' 'design' library bindings: The compile 'com. Jakewharton. Rxbinding2: rxbinding - design: 2.0.0' 'recyclerview - v7 library bindings: The compile 'com. Jakewharton. Rxbinding2: rxbinding - recyclerview - v7:2.0.0' 'leanback - v17 library bindings: The compile 'com. Jakewharton. Rxbinding2: rxbinding - leanback - v17:2.0.0'Copy the code

45.ListViewAnimations

A framework for ListView to provide dynamic display painting effect ability

Why I love it: If I ever admit that I’m old, I’ll prove to my brother, ListView, that I fought with it. The existence of ListViewAnimations is to prove that we these “old people” still have use, perhaps you have the difficulty of saying that can not export, can not realize the joy of RecyclerView animation, have ListViewAnimations, you can proudly say, My child (each item) has its own action effect. (author notes 5.6K stars)

Making github.com/nhaarman/Li…

Author: nhaarman

Use:

Dependencies repositories {mavenCentral ()} {the 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'}Copy the code

46.UItimateRecyclerView

A word introduction: a RecyclerView framework to provide refresh, load more, animation effects and other additional capabilities

Reasons for inclusion: RecyclerView appears for the third time in the list, enough to prove the excellence of RecyclerView, 5.5K stars, the framework provides many capabilities, if you are a utilitarian developer, then this framework will save you a lot of learning time, it can complete most of the needs of multi-item layout, It is worth noting that this project is also a secondary development along the lines of other projects.

Making github.com/cymcsg/Ulti…

Author: MarshalChen

Use:

repositories { jcenter() } dependencies { ... The compile 'com. Marshalchen. Ultimaterecyclerview: library: 0.7.2'}Copy the code

47.uCrop

In a word: an elegant picture cropping frame

List reason: 5.3K star, picture editing module singled out is also an elegant App.

Making github.com/Yalantis/uC…

Author: Yalantis

Use:

Allprojects {repositories {jcenter () maven {url "https://jitpack.io"}}} the compile 'com. Making. Yalantis: ucrop: 2.2.1'Copy the code

48.RxJava-Android-Samples

A simple introduction: an introduction to the use of RxJava app

Why we’re on this list: The first open source project to appear on this list “just to show you how to use another project”, it’s a use case for RxJava, and it has all the unexpected uses for RxJava, which is why it stands on this list with 5.2k stars. Regret that you didn’t create such a popular demo? Start writing another “XX Project use Case”

Making github.com/kaushikgopa…

Author: kaushikgopal

Use:

Clone to explore the area

49.AndroidAutoLayout

In a word: a framework that provides adaptive capabilities

5.2K star, hongyang brother’s works, suitable for small project development team, get the design MM PX pixel design is not a headache to hold? This framework solves your problems in one click, and it has a lot of flaws, but it’s worth exploring and learning about in your quest for the perfect fit! I do not recommend to apply it to mature operation project, after all, on the market already has too many adapted solution, adaptation problems like a hodgepodge, want to fry a dish of good food, have to be ready for all kinds of seasoning (small adaptation scheme), when you put all sorts of small condiment with the art of time, you are not far from the gourmet chef.

Making github.com/hongyangAnd…

Author: Zhang Hongyang

Use:

Dependencies {compile 'com.zhy:autolayout:1.4.5'}Copy the code

50.EffectiveAndroidUI

In a word: a teaching App that explains and displays UI efficiently

It is difficult for beginners to have a deep understanding of MVC MVP,MVVM and other patterns. If there is a sample app, it will be very helpful for beginners, and I have encountered it very rarely. 4.8K stars, which proves that it has withstood the test and scrutiny of developers, among which the programming idea of Effective UI happens to coincide with the Effective UI course in the official Android course, and, The project also includes a fragment, dagger, theme style, Butterknife, and many more, making it a perfect learning case for beginners

Making github.com/pedrovgs/Ef…

By Pedro Vicente

Use:

Clone project to local

51.Luban

In a word: the most close to wechat picture compression framework

Luban has captured 4.8K stars with a single feature of image compression, proving its expertise in image compression. It may not be the best, but it is the project that brings you and me closest to greatness

Making github.com/Curzibn/Lub…

Author: Curzibn

Use:

The compile 'top. Zibin: Luban: 1.1.1'Copy the code

52.DroidPlugin

Introduction: a popular plug-in development framework

Reasons on the list: 4.8K stars, the first place in the list of plug-in framework, produced by 360 team, the framework quality is guaranteed, there are successful cases — 360 mobile phone assistant, and continue to maintain

Making github.com/DroidPlugin…

Author: Andy Zhang

Use:

Clone project to local

53. otto

In a word: an old and powerful event bus framework

4.8K STAR is an event response framework launched by Square team earlier. The event driver of Taobao app is packaged based on this framework. Now Square has recommended developers to use RxJava AND RxAndroid instead of Otto. However, Otto still has value in comparison to EventBus, and the vertical differences between Otto and Square’s own Rx series of frameworks are also worth exploring.

github github.com/square/otto

Author: square

Use:

repositories { mavenCentral() maven { url "https://oss.sonatype.org/content/repositories/snapshots/" } } compile 'com. Michaelpardo: activeandroid: 3.1.0 - the SNAPSHOT'Copy the code

54.u2020

An app that provides an advanced teaching example of a Dagger

Reasons for inclusion: 4.7K STAR, a teaching app led by JakeWharton that teaches you how to use Dagger in other advanced frameworks, It shows high level usage of Dagger combined with ButterKnife, Retrofit, Moshi, Picasso, Okhttp, RxJava, Timber, Madge, LeakCanar, and many more excellent frameworks that you can incorporate into your own projects

Making github.com/JakeWharton…

Author: JakeWharton

55.buck

In a word: Buck is a rapid build system

Reasons for inclusion: As a facebook+ Google author, buck’s excellent understanding of build code, maintenance by large teams, and fast and efficient incremental updates make it the first choice for wechat Android team to build projects. It is faster than Gradle when building large projects. However, it is not suitable for small and medium-sized companies. But for those of you who aspire to make a difference in the field of framework design, please take a look

Website: buckbuild.com/

Making github.com/facebook/bu…

Author: facebook

Use:

linux or mac system  +docsCopy the code

56.PermissionsDispatcher

In a word: an annotation-based framework that provides solutions to runtime dangerous permissions

Reasons for inclusion: Since the word Android6.0 Google proposed dangerous permissions, user security mentioned a certain height, some runtime is more dangerous to the user permissions will no longer automatically by developers, require the approval of the user, developers can continue to use the permissions, if you’ve ever scratching caused by permission problems, suggest you try the framework, It’s enough to solve your problem

Website address: hotchemi. Making. IO/Permissions…

Making github.com/hotchemi/Pe…

By Shintaro Katafuchi

Use:

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/' }
}Copy the code

57.android-gif-drawable

A view frame that provides the ability to display GIF animation

Reasons for inclusion: As far as I can see, zhihu, a famous App in China, uses Android-GIF-drawable, thus proving its existence value. Although lottie-Android directly applies AE animations in the eleventh place in the list, AE designers are not equipped by every company. GIF exists. There must be a need to display giFs, and it’s worth it!

Making github.com/koral – / and…

By Karol Wrotniak

Use:

repositories { mavenCentral() maven { url "https://oss.sonatype.org/content/repositories/snapshots" } } dependencies { The compile 'pl. Droidsonroids. GIF: android - GIF - drawable: 1.2 +'}Copy the code

58.Apktool

A tool for decompiling APK

Open source decompression tool, for those who want to understand apK reverse cracking, it is worth having, 4.5K star, reverse cracking APK artifact!

Making github.com/iBotPeaches…

Website address: ibotpeaches. Making. IO/Apktool /

By Connor Tumbleson

59.dynamic-load-apk

In a word: Plug-in development framework

4.5K star, located in the second place of plug-in development framework (the first place is from 360 team), comprehensive documentation so that you can quickly get started with plug-in development, if you like long paragraphs of text explanation, then this project is definitely for you

Github:github.com/singwhatiwa…

Author: singwhatiwanna

Use:

Github docs work well with the author’s blog

60.atlas

One word introduction: The componentalized development frame that Taobao rolls out

The atlas framework provides decoupling, component and dynamic development capability. 4.5K star makes it ranked first in component-based development framework

Making github.com/alibaba/atl…

Author: alibaba,

61.volley

Google recommends using the Android network request framework

4.4K stars. It’s not that he’s not good enough, but using Volley has become a habit for most developers

Making github.com/google/voll…

Author: Google

Use:

Clone source code to local

62.androidmvp

In a word: a demo showing the Mvp design on Android

Why we’re here: one of the few projects on this list to earn 4.2k stars just for showing a design pattern, the androidmvp can be your outpost if you’re thinking of trying out for MVP

Making github.com/antoniolg/a…

By Antonio Leiva

Use:

Clone to the local

63.SwipeBackLayout

In a word: a framework that lets you close pages with swiping gestures

Imitating the effect of wechat sliding to exit the current chat interface, it provides the ability to slide and close the activity. Through this idea, it is easy to realize the sliding and closing of the fragment. I insist that you explore the Clone source code locally; 4.2k star proves that many people love it

Making github.com/ikew0ng/Swi…

Author: ike_w0ng

Use:

The compile 'me. Imid. Swipebacklayout. Lib: library: 1.0.0'Copy the code

64.FlycoTabLayout

In a word: a framework that allows you to make a variety of indicator effects

Why we’re on the list: Although there’s no reason to integrate a 2.5m dependency library in order to add page indicators to your app, it’s worth checking it out as a good framework for understanding how viewpager or SwIP Views indicator design works. I recommend splitting the source code and adding it to your own projects. 4.1K stars, secondary development works, still recommended!

Making github.com/H07000223/F…

Author: Flyco

65.android-testing

A demo that demonstrates the use cases of the four automation test frameworks (Espresso, UiAutomator, AndroidJunitRunner, JUnit4)

Reasons for inclusion: If you are lucky enough to learn the course of Android Testing Support Library site, then you must be eager to learn the four Testing frameworks of Android. This demo is very suitable for you. Come and learn this 4.1K star star project

Making github.com/googlesampl…

By: googlesampes team

66.FileDownloader

In a word: an efficient, stable, flexible, easy to use file download engine

4.1K proves how popular it is, how many pitfalls there are behind the seemingly simple file download, I know you have the ability to do it yourself, but a good framework can improve your design coding skills, this framework can improve your power!

Making github.com/lingochamp/…

Author :LingoChamp team

Use:

Dependencies {the compile 'com. Liulishuo. Filedownloader: library: 1.5.5'}Copy the code

67.JieCaoVideoPlayer

A brief introduction: Based on MediaPlayer API – VideoView multimedia playback framework

The third multimedia playback frame in the list, it is in this list with smart body, exquisite is its biggest advantage, less than 100K, with it, you can quickly develop video playback effects like Toutiao, 4K star, prove that it is worth trying

Making github.com/lipangit/Ji…

Author: Nathen

Use:

The compile 'FM. Jiecao: jiecaovideoplayer: 5.5.4'Copy the code

68.glide-transformations

A framework that provides image shape changing capabilities for many famous image loading frameworks

Reasons for inclusion: Glide, Picasso, Fresco, etc. are quick and easy to use, so you can make pictures look like a quick picture or a quick picture or a quick picture or a quick picture or a quick picture. You have 3.8K stars on Github

Making github.com/wasabeef/gl…

Furiya by Daichi Furiya

Use:

Seriesrepositories {jcenter()} seriesRepositories {compile 'jp. Wasabeef :glide- double :2.0 '// If you want to use the GPU Filters the compile 'jp. Co. Cyberagent. Android. Gpuimage: gpuimage - library: the 1.4.1'}Copy the code

Set the change effect in Glide

Set Glide Transform.

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

69.android-gpuimage

A picture rendering engine based on OpenGL

Despite GpuImage’s reputation on IOS, The Android version of GpuImage offers more than 70 image rendering effects, and you’re still wondering how Meituxiu can transform images. With it, everything is not a problem. If you are a Meitu tool class engineer, this framework construction ideas will also be useful to you. The author also imitated Meitu App through Android-GpuImage and captured the heart of his girlfriend, and praised it again for its strength. With 19K stars in ios + Android, it has proven its strength. What are you waiting for?

Github:github.com/CyberAgent/…

Author: CyberAgent Team

Use:

Dependencies repositories {jcenter ()} {the compile 'jp. Co. Cyberagent. Android. Gpuimage: gpuimage - library: the 1.4.1'}Copy the code

More transformation methods, but also need to read the Ios programming documentation, for perseverance of small partners strongly recommended!

70.RxPermissions

A framework for completing permission applications based on RxJava

Why we’re on the list: The second proprietary framework, based on RxJava design, allows you to focus on writing business, and 3.7K star has proven its usefulness

Making github.com/tbruyelle/R…

By Thomas Bruyelle

Use:

repositories { jcenter() // If not already there } dependencies { compile 'com. Tbruyelle. Rxpermissions: rxpermissions: 0.9.4 @ aar'}Copy the code

Elegant use:

RxPermissions rxPermissions = new RxPermissions(this);

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

71.freeline

In a word: a dynamic replacement compiler build framework

Ant Financial launched Freeline compilation framework after Facebook’s Buck and Androdi InstRun. The official website claims that Freeline is several times faster than mainstream construction methods in the industry. ** ranks in different order, compilation speed is not a factor in the ranking of this list, so Freeline is the second compilation framework with 3.7 stars

Official website: www.freelinebuild.com/

Github:github.com/alibaba/fre…

Author: alibaba,

Use:

Dependencies buildscript {repositories {jcenter ()} {the classpath 'com. Antfortune. Freeline: gradle: 0.8.7'}}Copy the code
apply plugin: 'com.antfortune.freeline'

android {
    ...
}Copy the code

The File – > Settings… Repositories → Plugins → Browse repositories → Freeline

72.RxLifecycle

A framework that provides the ability to manage the Activity and Fragment lifecycle while using RxJava

Reasons for inclusion: At the top of the list you already know how powerful RxJava and RxAndroid are, but some of the careless developers are getting serious memory leaks because they don’t cancel their subscriptions in time, don’t worry, RxLifecycle will solve the problem for you, with 3.7K stars on GtiHub, It is also used by well-known Chinese software platforms Zhihu and Taobao

Making github.com/trello/RxLi…

Author: Trello Team

Use:

Clone source code to local

73.classyshark

In a word: an executable file browser

Classyshark is the second apK reverse engineering tool in this list, and if you like elegant graphics and data display, you must not miss it. Classyshark is the second APK reverse engineering tool in this list. Classyshark is the third APK reverse engineering tool in this list, and classyshark is the second APK reverse engineering tool in this list.

Making github.com/google/andr…

Author: Google

Use:

Download the JAR

74.acra

A framework that provides the ability to log ****APP crashes

Why you’re on the list: If you’re faced with the need to collect APP crash logs, acRA is a great choice. Acra has the ability to record online apps and send them back to the server. Acra also provides a great crash log statistics server framework, Acralyzer, which works on Apache CouchDB. So there’s no need to install any additional software besides CouchDB, and mobile developers can learn how to build servers.

github github.com/ACRA/acra

Github github.com/ACRA/acraly…

Author: AcRA Team

Use:

What better way than to clone the source code locally

75.DiskLruCache

A framework that provides disk file cache management capabilities

3.7K star is not enough to illustrate the excellence of DiskLruCache, only to manage disk file ability singled out as a framework, the author needs a lot of courage, very lucky, the author did, and also become the Google official website to advocate the cache; For example, remember the last time to do “one click to clear the cache”, “view the cache file size” function when? DiskLruCache can do it in one sentence!

Making github.com/JakeWharton…

Author: JakeWharton

Use:

The compile 'com. Jakewharton: disklrucache: 2.0.2'Copy the code

Or download latest.jar

76.dexposed

A brief introduction: a framework that supports the hot repair and online debugging capabilities of most of Ali App clients

Why we love it: list again hot fix framework, prove App hot repair technology, dexposed provides graphical performance monitoring, online hot fix the bug holes, support AOP programming ideas and so on, whether you are a hot repair technology designer or intend to explore in the field of hot fix, this framework is very suitable for you. 3.5K stars, proving its existence as a technical framework, how endearing!

Making github.com/alibaba/dex…

Author: alibaba,

Use:

Dependencies {the compile 'com. Taobao. Android: dexposed: while @ aar'}Copy the code

77.Litho

In a word: a framework that provides the ability to efficiently build UIs

Litho, as a framework for building UIs, is efficient in: Separate opened up a thread for rendering and layout, and then create good components to the UI thread to complete the final rendering, use less of the view hierarchy, to increase the rolling speed of the interface, it is important to note that it only supports developers do not change the UI components of * *, * * 3.5 K star, proved its value in the field of building UI, More wonderful points, I look forward to you to discover!

Making github.com/facebook/li…

Author: facebook

Use:

ependencies { // ... Litho :litho-core:0.3.1' compile 'com.facebook. Litho :litho-widget:0.3.1' provided Litho: Litho-Annotations :0.3.1' annotationProcessor 'com.facebook.litho: litho-Processor :0.3.1' // SoLoader The compile 'com. Facebook. Soloader: soloader: 0.2.0' / / Optional / / For was debugging debugCompile Litho :litho-stetho:0.3.1' // For integration with compile 'com.facebook.litho:litho-stetho:0.3.1' Litho :litho-testing:0.3.1'} // For testCompile 'com.facebook.litho:litho-testing:0.3.1'}Copy the code

78.mosby

In one sentence: A framework that provides the ability to build MVP projects

Reasons for inclusion: The top part of the list has introduced MVC,MVVM,MVP framework project, it must be at this time you in the construction of enterprise project architecture, choose or develop a suitable MVP framework is imminent, MOSBY can be your first step reference, you can encapsulate it, you can also copy it, anyway, 3.4K star, It proves how popular it is with developers in framework design

Making github.com/sockeqwe/mo…

By Hannes Dorfmann

Use:

Dependencies {the 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: view state: 3.0.4' / / + MVP ViewState support }Copy the code
allprojects {
  repositories {
    ...

    maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
}Copy the code

79.AndResGuard

A tool to provide resource file path confusion

If you’re sensitive to APK size, AndResGuard is for you. It works like Java Proguard, but only for resources. He will shorten the originally lengthy resource path, such as changing RES /drawable/wechat to R/D/A and 3.4K stars, proving that you are not alone in optimizing APK!

Making github.com/shwenzhang/…

Wechat Team

Use:

The Clone project is essentially a three-sentence document

80.StatusBarUtil

In a word: a framework that provides the ability to set immersive status bar styles

Always complaining about the status bar? Then give her the perfect immersive status bar. StatusBarUtil can style the status bar as much as you like, and 3.3K stars are enough to show you how popular it is with design MMS

Making github.com/laobie/Stat…

Author: Jaeger

Use:

The compile 'com. Jaeger. Statusbarutil: library: 1.4.0'Copy the code

81.robolectric

A unit testing framework that doesn’t rely on Android devices,

Sample lists the use cases of how to test the four major components and common features of Android. 3.2k stars are worth trying for curious people

Robolectric.org/

Making github.com/robolectric…

Author: robolectric

Use:

TestCompile "org. Robolectric: robolectric: 3.3.2 rainfall distribution on 10-12."Copy the code

82.Fragmentation

A framework for managing Fragmen nested T capabilities

Reasons for inclusion: You must be proficient in using activities and fragments, but if you want to create a set of common nested activity&fragments design, you will feel a little confused. Fragmentation can be your first step in designing Fragment management. 3.2K stars The author thinks a bit worthy of the name, the project introduction said is Fragment management ability, but did not provide Fragment&Activity life cycle, task stack management ability, so it is difficult to directly apply to the enterprise project, but the source code of the design ideas, worthy of the author and you learn from each other, left a residual aroma!

Github:github.com/YoKeyword/F…

Author: YoKey

Use:

/ / appcompat v7 package is a must compile 'me. Yokeyword: fragmentation: 0.10.7' / / if you want to use SwipeBack sliding edge out fragments/Activity function, Please add the following library / / compile 'me. Yokeyword: fragmentation - swipeback: 0.10.4'Copy the code

83.Small

In a word: lightweight plug-in framework

As a new member of the plug-in framework list, Small has the advantage of being lightweight and suitable for Small team plug-in development scheme. 3.1K stars make it favored by famous development teams such as Kugou Music. If your team wants to gradually implement plug-in development, Small is a good choice!

Website address: code.wequick.net/Small/cn/ca…

Making github.com/wequick/Sma…

Author: The WeQuick team

Use:

Buildscript {dependencies {classpath 'net. Wequick. View the build: gradle - small: 1.2.0 - alpha6'}} to apply the plugin: 'net.wequick.small' small {aarVersion = '1.2.0-alpha6'}Copy the code

84.JsBridge

A framework that provides WebView and Javascript communication capabilities

The framework provides ** the ability to allow H5 page calls to call App methods through JS; **3.1K star, simple communication method, worth every Web\Hybrid App developer try

Gtihub github.com/lzyzsd/JsBr…

Author: Hi Big head ghost Hi

Use:

repositories { // ... Maven dependencies {url "https://jitpack.io"}} {the compile 'com. Making. Lzyzsd: jsbridge: 1.0.4'}Copy the code

85.richeditor-android

A powerful rich text editing framework

Why it’s on the list: 2.8K stars, the first framework on the list to provide TextView with extended capabilities, you don’t need it yet, but you can’t help but know it

Making github.com/wasabeef/ri…

Furiya by Daichi Furiya

Use:

Repositories {jCenter ()} Dependencies {compile 'jp. Wasabeef: Richeditor-Android :1.2.2'}Copy the code

86.Transitions-Everywhere

Transitions IS an instructional project that teaches you how to use the Android Transitions API properly

Why you’re on the list: You may not have tried the Transitions framework of the Android API, you may have heard of it, but you can’t pull off the elegant magic — don’t worry, Transitions Everywhere, as the name suggests, will take you through the power of Transitions

Making github.com/andkulikov/…

By Andrey Kulikov

Use:

Dependencies {the compile "com. Andkulikov: transitionseverywhere: 1.7.4}"Copy the code

87.android-viewbadger

In a word: a framework that quickly adds “MEDALS” capabilities to Android views

Medal of why we love it: if the word sounds strange, then display has read the number of unread, little red tag information to this kind of words you do not too strange, I believe in you encountered in the actual development for some item to join the demand of the little red dot mark, clever scheme, you must have a variety of why can’t fast elegant finish? Android-viewbadger can help you do this, although in some cases you will need to be able to modify the source code to fit the design MM’s needs! It is worth noting that the width project has not been updated for five years!

Making github.com/jgilfelt/an…

By Jeff Gilfelt

Use:

Clone source code to local

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

88.AndroidWiFiADB

Introduction in a word: a plug-in project that allows you to debug mobile device APP without data cable

Why you’re on the list: Worried about the lifetime of irreparable damage to your phone’s battery and USB port caused by the intense plugging and unplugging of cables during testing? Don’t worry, with wifi and AndroidWiFiADB, you can debug your application without data cable. What’s more interesting is that, when the test engineer is holding the phone while talking to you about bugs, you have secretly fixed the bug on its phone, with deep work and fame!

Making github.com/pedrovgs/An…

Pedro Vicente Gomez Sanchez

Use:

Preferences/Settings->Plugins->Browse Repositories->serch AndroidWiFiADBCopy the code

889.emojicon

A framework that provides the ability to display emojis in TextView and EdiText

2.7K star, the second frame to enhance TextView display ability, this is designed for emoticon package, if you have ever wondered how wechat, QQ emoticon display is done? This framework is sure to satisfy your thirst for knowledge.

90.packer-ng-plugin

In a word: a hit tool plug-in

Use of the list: I try to maintain the comprehensive coverage of the list, so I introduced this plugin project — the project claims to complete 100 channel packages in 10 seconds, in today’s market of various multi-channel package solutions, choose the right one for your team, the best choice

Making github.com/mcxiaoke/pa…

Xiaoke Zhang

Use:

buildscript { ...... Dependencies {/ / add packer - ng classpath 'com. McXiaoke. Gradle: packer - ng: 1.0.9'}}Copy the code
Apply the plugin: 'packer' dependencies {the compile 'com. McXiaoke. Gradle: packer - helper: 1.0.9'} android {/ /... SigningConfigs {release {// This configuration is required if the following two conditions are met: // 1\. Gradle version >= 2.14.1 // 2\. Android Gradle Plugin version >= 2.2.0 // V2 signature mode v2SigningEnabled false}}Copy the code

91.android-priority-jobqueue

A framework that provides background task management capabilities

Reasons for inclusion: Job Manage takes care of priorities, persistence, load balancing, latency, network control, grouping, etc. 2.4K star, excellent multithreading management ability, and it relies on the third party framework is very few, worth your try

Making github.com/yigit/andro…

By Yigit Boyar

92.Android-Debug-Database

A framework for testing App internal database capabilities

List reason: the second list for debugging database framework, a line of code integration, directly in the browser to add, delete, change and check the App database, 2.3 K star, not as exciting as action!

Making github.com/amitshekhar…

By AMIT SHEKHAR

Use:

DebugCompile 'com. Amitshekhar. Android debug - db: 1.0.0'Copy the code

Browser type

 http://XXX.XXX.X.XXX:8080Copy the code

93.conceal

A framework for encrypting large local files provided by Facebook

If you’re worried about the privacy of your photos in the App, this Facebook document encryption framework is yours to protect. The Facebook client’s photos and data are encrypted using real ones

Website address: facebook. Making. IO/conceal

Making github.com/facebook/co…

The author; facebook

Use:

The Clone project downloads the JAR locally/from the clone website

94.ARouter

In a word: a framework to provide services, page jump routing

As the authors claim, the framework provides: external URL mapping to internal pages, cross-module page hopping (page decoupling), blocking the jump process, and more to discover. 2.1K STAR, worthy of applause for the enterprise framework

Making github.com/alibaba/ARo…

Author: alibaba,

Use:

ndroid { defaultConfig { ... javaCompileOptions { annotationProcessorOptions { arguments = [ moduleName : Project.getname ()]}}}} dependencies { Compile 'com.alibaba:arouter- API: X.X.X 'annotationProcessor 'com.alibaba:arouter-compiler: X.X.X'... } // Old version of Gradle plugin (< 2.2), you can use apt plugin, see 'other #4' at the end of this article.Copy the code

95.MagicaSakura

In a word: a framework that provides the ability to switch between multiple themes

This multi-theme framework, provided by Bilibili, can complement the scope of this list with 1.9 stars. Thanks to the bilibili team for their contribution!

Making github.com/Bilibili/Ma…

Author: Bilibili

Use:

The compile 'com. Bilibili: magicasakura: 0.1.6 @ aar'Copy the code

96.CustomActivityOnCrash

A framework that automatically loads an Activity when the APP crashes (instead of showing Unfortunately, X has stopped)

Why it’s on the list: Novelty is what’s needed, so it earned 1.8K stars; As a developer, we should have the ability to consider all kinds of latent bugs, but we can’t always do everything. Other colleagues on the system side may also cause the program to crash unexpectedly. Therefore, how to make the program crash gracefully -> restart is worth thinking about, and this framework provides this ability

Making github.com/Ereza/Custo…

By Eduard Ereza Martinez

Use:

Dependencies {the compile 'cat. Ereza: customactivityoncrash: 2.1.0'}Copy the code
Add to Application Class:Copy the code
 @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();
}Copy the code

97.XhsEmoticonsKeyboard

In a word: the most happy open source emoji solution

Why we love it: If you’re wondering how to make your own keyboard for your APP, this framework is for you, and it also offers the ability to display emojis, with 1.7 stars proving it’s unique. In addition, the author also gives a high imitation wechat keyboard, QQ keyboard demo, to share with you

Making github.com/w446108264/…

Author: zhongdaxia

Use:

allprojects { repositories { jcenter() maven { url "https://jitpack.io" } } } dependencies { compile 'com. Making. W446108264: XhsEmoticonsKeyboard: 2.0.4'}Copy the code

Iii. Complete project

1.iosche

In one sentence: Google’s 2016 Developer Conference presentation

There are 13.4K stars on Github, ranking the first in the enterprise project list. Awesome developers, authoritative design mode, standard project writing method, worth a try; I suggest beginners down the source code, find the app entrance, each page to go through, with the concept of design pattern to deepen understanding.

Making github.com/google/iosc…

Author: Google

2.Plaid

Open source app for design news and inspiration

The standard Material design, news app, 9K star on Github is worth you to abandon the uneven news app on the market, quickly start to study it!

Making github.com/nickbutcher…

By Nick Butcher

3.PocketHub

Github for Android

List reason: 8.7K star number, Github’s biological son, open source is worth checking out

Making github.com/pockethub/P…

Author: Fadil Sutomo

Use:

Down all source code

4.Signal Android

Signal is an SMS app for secure communication,

Why it’s on the list: the 7.9K star count and tag attributes of utility apps make it unique in the list. If you’re interested in SMS apps, you can dig deeper

Making github.com/WhisperSyst…

Author: WhisperSystems

Use: Github on down source code

5.android-UniversalMusicPlayer

In a word: a multimedia app that runs across devices

Github has 7.9K stars for Android phones, cars, tablets, and wearables. For programmers who have only experienced Android phone development, it’s a novelty. You deserve a try!

Making github.com/googlesampl…

Author: Google

Use: Github on down source code

6.HomeMirror

A word introduction: if you are a beautiful guy so you must need this mirror!

Tool apps rarely find a place on Github unless they offer something really fancy, like HomeMirror, which has 7,599 stars just because it offers mirrors. From now on, Android phone, pad, will become your travel home magic, worth having!

Making github.com/HannahMitt/…

By Hannah Mittens

HomeMirror First Experience:

7.ExoPlayer

An alternative to Android native MediaPlayer

ExoPlayer is a powerful extension API that can be used to make multimedia players faster and easier to expand, and anyone who is interested in multimedia players can use it to their advantage. 6.9K stars, which proves how popular it is with developers, and what’s more, Google is still updating it!

Website address: Google. Making. IO/ExoPlayer /

Making github.com/google/ExoP…

Author: Google

Use:

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'Copy the code

8.cheesesquare

One word introduction: Android material design demonstration project

Why we love it: The author is the man behind the Android Support Lib. The material design has been rumored for several years, but as the definitive showcase item, you definitely need it, and 6.7 stars proves just how popular it is.

Making github.com/chrisbanes/…

By Chris Banes

9.DanmakuFlameMaster

In a word: Android side open source bullet screen engine

Reasons on the list: Bilibili, to ensure its pure quality, and the NDK source code is also open source, it can be described as the conscience of the industry, the open source of the bullet engine saves a lot of video broadcast partners development costs, I strongly recommend!

Making github.com/Bilibili/Da…

Author: bilibili

Use:

Dependencies repositories {jcenter ()} {the compile 'com. Making. Ctiao: DanmakuFlameMaster: 0.8.3' compile 'com. Making. Ctiao: ndkbitmap - armv7a: 0.8.3' # Other ABIs: Optional compile 'com. Making. Ctiao: ndkbitmap - armv5:0.8.3' compile 'com. Making. Ctiao: ndkbitmap - x86:0.8.3'}Copy the code

10.facebook-android-sdk

In one sentence: a framework that provides the ability to access the Facebook platform

Why we love it: This is a great way to access Facebook or learn about your own SDK. How to develop a set of enterprise-level SDK, is a necessary way to advance excellent development engineers, 4.1K star, Facebook persistent update quality assurance, you deserve it!

Making github.com/facebook/fa…

Author: facebook

Use:

 https://developers.facebook.com/docs/androidCopy the code

11.android-oss

A word introduction: foreign creative community Kickstarter open source Android version of the client

Why it’s on the list: Exquisite enterprise APP, every page is handled well, if you want to be an elegant engineer, this open source project is definitely for you, 3.8K star proves its impressive life

Github:github.com/kickstarter…

Author: kickstarter

Use;

Clone source code to local

12.k-9

Introduction: Android client mail App

Still remember Zhang Xiaolong’s famous work — FoxMail? If you want to make a mobile Email App, K-9 is a good reference, and you will have a better understanding of application layer protocols

K9mail.github. IO /

github github.com/k9mail/k-9

Use:

Clone project to local

13.Timber

Introduction: A music player App

3K STAR, completely in accordance with the material design specifications, provides more than ten kinds of playback features, but also provides the universal setting ability of the App, which is equally excellent, for students who are aiming to improve the development technology is worth a try

Making github.com/naman14/Tim…

By Naman Dwivedi

Use:

Clone source code is a good habit

14.remusic

One sentence introduction: Imitation netease Cloud Music Android version App

Why you’re on the list: After learning Timer, is it still not enough to satisfy your appetite? Remusic will satisfy your appetite — it can even be used as a live project! 2.9K stars, the design based on Timber (the premise of starting is to understand Timber first) is worth starting; Here’s a question: if you refactor, how would you do it?

Making github.com/aa112901/re…

Author: MW

Use:

Clone project

15.Douya

One word introduction: open source Douban client

List reason: an open source APP with comprehensive functions and impressive architecture design; It is just a reconstruction project that is not satisfied with the design idea of Douban APP, which shows the author’s obsession and love for the product. 2.9K stars prove that this project is not a hot-head work. If every idea can be realized, how wonderful our world will be!

Making github.com/DreaminginC…

Author: Zhang Hai

Use:

Clone project to local

16.BookReader

In a word: Open source novel reader

2.7K STARS, the first reader APP in the list, with high learning value (for students who are interested in developing into reading tools)

Making github.com/JustWayward…

By JustWayward’s team

Use:

Clone to the local

17.bilibili-android-client

Bilibili’s Android client is highly imitative

List reason: 2.5K STAR, the first open source App for live video in the list; Suitable for students who are interested in live video broadcasting and community interaction; Bilibili-android-client uses a lot of large frameworks, this project is not suitable for the weak students, don’t be discouraged, learning page layout design is also worth it!

Making github.com/HotBitmapGG…

Author: Hcc

Clone to the local PC

18.AndroidChromium

Introduction: Chrome for Android

Why we’re on the list: As the authors claim:

  • Google Browser Android version of the source project
  • World-class Android architecture
  • I am qualified to be an engineer of a domestic first-line company by clarifying the business logic of this project

For those of you intent on grooming your browser’s framework, this is worth it

Making github.com/JackyAndroi…

Author: JackYAndroid

Use:

Clone source code to local

Iv. Development Framework:

(Ranked in no order, only by type)

1.libgdx[

] (github.com/libgdx/libg…).

A cross-platform Android game development framework

Android developer framework category 1, 11.7K star, game frame is its exclusive label, more importantly, it is cross-platform

Website address libgdx.badlogicgames.com/

Making github.com/libgdx/libg…

2.xUtils

In a word: the old enterprise development framework

XUtils as programmers in ancient times highly respected development framework, the biggest reason — trouble saving. XUtls contains four modules, which provide four operation capabilities: data operation, UI operation, Http protocol operation, image operation. XUtils is a mentor project for the author to learn Android framework design for the first time. In years of experience, the author has seen that xUtils is the first choice for many small and medium-sized banks’ Android end framework solutions, which is sufficient to prove its popularity. The framework has now been updated to xUtils3. If you have a certain idea about Android frameworks, you can start with xUtils and become a framework master. Although many of the engines in the framework are outdated, and the methods of each module can be replaced by other frameworks, xUtils, as the pride of domestic developers and the darling of the framework in ancient times, is worth having!

Making github.com/wyouflf/xUt…

Author: wyouflf

Use:

The compile 'org. Xutils: xutils: 3.5.0'Copy the code

3.android-common

An Android rapid development framework

Reasons for inclusion: Didi senior Android engineer produced, after years of testing by developers, with 4.3K stands in the third place in the list of fast development framework, the framework provides picture cache, Http cache, DropDownListView, download modules, common tools for development, as the earliest summative development framework for programmers in ancient times. It is the brainchild of a generation, and deserves a round of applause for Trinea

Making github.com/Trinea/andr…

Author: Trinea

Use:

Clone code to local

4.Vitamio

A cross-platform Android multimedia development framework

If the previously mentioned ExoPlayer doesn’t meet your multimedia development needs, I guarantee Vitamio is worth a try

Official website: www.vitamio.org/

Making github.com/yixia/Vitam…

Author: Yixia Team

Use:

Clone source code to local

5.Weex

In a word: mobile terminal cross-platform development solutions

14.4K star, enterprise-level hybrid development framework with mature application cases, produced by Alibaba, why not have a try?

Official website: weex.apache.org/cn/

Making github.com/alibaba/wee…

Author: alibaba,

6. Cordova – Android (Hybrid development framework, WebApp development framework)

In a word: cross-platform development framework

Cordova has a lot to offer in terms of hybrid and WebApp development: You can create cross-platform apps, whether you are a Web developer or a Native developer

Website address: cordova.axuer.com/docs/zh-cn/…

Making github.com/apache/cord…

7.react-native

A Javascript language to operate multiple system languages (Ios, Android) framework

It’s hard to say where react-Native fits in. It’s great for front-end engineers developing mobile apps, and it’s great for native developers developing across platforms, but the steep learning curve for Navitve developers will scare off a lot of “framework enthusiasts”; There is a famous saying in the front end: Web represents the future, Native represents the present, and we are on the road between the present and the future; 49K stars seems to bring us closer to the future

IO /react-nativ…

Making github.com/facebook/re…

Author: facebook

V. Others:

1.AndroidUtilCode

In a word: provides a large number of tool classes

10.8K star number, enough to prove how popular it is, welcome you to provide common tools to grow it!

Making github.com/Blankj/Andr…

The File – > Settings… → Plugins → Browse repositories…

and search for freeline.

2.kotiln

Introduction: Google’s Android programming language

Reasons for inclusion: Just as AndroidStudio replaced Eclipse, Goolg made Kotiln the official language of Android, perhaps to avoid patent litigation with Oracle, but Kotlin is 100% Java compatible, significantly simplifying the amount of Java code, As well as the idea of functional programming. Remember what we said before the list? The future is Kotlin’s, the present is Java’s, but we are on the path to the future — learning the programming language of the future, improving our productivity, leaving work early and hitting the beans. Why not?

Website: kotlinlang.org/

Github:github.com/JetBrains/k…

Use:

Kotlinlang.org/docs/refere… Api-android use cases – books and other resources are provided

6. Book projects

(Sort in no order)

1.Android Developer China official website training course

A word introduction: in line with China’s national conditions of Google developers official website sub-products – Android developers official website

内 容 提 要 : Here are the training courses, API use case courses, Sample use cases, dependency library introduction, AndroidStudio website… And so on a series of open free courses, although most of the content is in English, but you are willing to rely on the English dictionary to finish a bite, believe me, your Android knowledge level will kill most of the Domestic market Android books

Website address: developer. The android. Google. Cn/training/in…

Author: Google

2.android-architecture

In a word: Google provides the basic framework of Android

List reason: after watching it, MVP, MVVM will be cut melon chop vegetables, autumn wind sweeping leaves general…

Making github.com/googlesampl…

Author: Google

3.andorid-open-project

A navigation class directory for almost all of Android’s open source projects

Contrary to its reputation, the navigation and browsing experience of the project is very poor. It is suggested to read in leisure time. Recommended reasons – The most complete Android open source project navigation directory made by Chinese people

Making github.com/Trinea/andr…

Author: Trinea

4.awesome-android-ui

Introduction: Android open source project directory

List reason: a foreign navigation directory, 23K star

Making github.com/wasabeef/aw…

The author’s message:

This year is the end of our tour of authoritative frameworks. Do you feel like you haven’t had enough? That’s great. You are welcome to join the Discussion of Android Top 100 Frameworks, leave a comment at the bottom of this article, or participate in the maintenance of this project:

1. I think the XX framework should be listed for the reasons XX

2. I found some mistakes in XX

3. I don’t agree with some of the author’s opinions. For example, XX, I think XX

.

The author hopes to receive well-founded comments and framework recommendations that are not listed. At that time, the author will select a part of the partners who participate in the comments and issue a total of 100RMB material reward!

The 2017-06-19 Beijing