As more and more Android projects start to move to Kotlin, I also want to make a list of excellent Kotlin/Android open source projects for you to learn and refer to.
The project selection process is simple:
- search
android kotlin
Key words,Most stars
Rank by star - Artificial secondary screening, screening out some items, e-books
Best match
Correction to avoid missing some low star popular items- According to the
Trending
As well as the author experience not regularly update the list, add hot items
The final results are as follows (the list will be updated and maintained continuously) :
No. | Repo | Desc | Star |
---|---|---|---|
1 | square/okhttp | Square company produced HTTP client library, 4.0 large version of the function and 3.0 is exactly the same, but the language from Java to Kotlin rewrite, very suitable for the control of the two languages learning | 38k+ |
2 | square/leakcanary | Also from the Box company, a memory leak detection tool, help you in the development phase of the convenient detection of memory leaks, it is very easy to use, it works in the interview of common questions | 25k+ |
3 | afollestad/material-dialogs | AppCompat’s Material theme only supports most controls, but it doesn’t make the AlertDialog a Material style. This library allows you to implement a Material style AlertDialog on any version, and it’s easy to customize | 18k+ |
4 | Kotlin/anko | Anko is a Kotlin library which makes Android application development faster and easier. Although it is no longer maintained, it is still worth learning and reference | 15k+ |
5 | LouisCAD/Splitties | Because of the abolition of Anko-Layout, students who want to layout UI based on DSL can take a look at this library, can learn more KotlinDSL play | 1.3 k. |
6 | square/retrofit | Okhttp is good, but is rarely used directly in Android development, and is more often used with Retrofit. Its source code is permeated with excellent design patterns that are well worth learning | 36k |
7 | permissions-dispatcher/PermissionsDispatcher | Android6.0 introduced dynamic permission applications through the use of annotations, compatible with kapt usage | 10k+ |
8 | JakeWharton/RxBinding | J God’s RxBinding has been rewritten in Kt | 9.5 k + |
9 | gyf-dev/ImmersionBar | Android 4.4 above immersive status bar and immersive navigation bar management, suitable for horizontal and vertical screen switching, bang screen, soft keyboard pop-up problems, you can change the status bar font color and navigation bar icon color | 8.6 k + |
10 | InsertKoinIO/koin | A dependency injection framework (more specifically, a service discovery framework) that takes advantage of Kotlin syntax and implements DSL, Reified, etc. | 5.9 k. |
11 | Kodein-Framework/Kodein-DI | The Kotlin dependency injection framework, which is similar in functionality and positioning to Koin, is slightly less influential than Koin | 2.4 k + |
12 | zetbaitsu/Compressor | Android image compression library, easier to use by using the DSL interface, while supporting the total processing of asynchronous tasks in Coroutine | 5.4 k + |
13 | android/android-ktx | The official Kotlin extension library is basically a must-have tool for kotlin /Android projects | 7.6 k + |
14 | square/moshi | The preferred serialization/deserialization library on Kotlin, and some of kAPT’s operations are worth learning | 6.5 k. |
15 | wasabeef/Blurry | It may not help you learn Kotlin, but as one of the few Gaussian blur libraries on Android, take a look | 4.5 k + |
16 | square/okio | Makes it easier for you to work with Java.io, and Kotlin is also well supported | 7.1 k + |
17 | coil-kt/coil | The Image loading library on Android, while not as well known as glide and Fresco’s predecessors, is higher on my list because it’s built entirely by Kotlin and uses Coroutine for asynchronous tasks | 4.3 k + |
18 | igorwojda/android-showcase | While not a tool library, it contains many Kotlin/Android development best practices and examples worth learning from | 3.7 k + |
19 | kittinunf/fuel | Billed as the simplest HTTP network library on Kotlin/Androids, it uses KT’s lambda syntax to handle various callbacks | 3.6 k + |
20 | square/wire | Can be used for Kotlin’s gRPC library, box production must be a boutique | 3.2 k + |
21 | airbnb/MvRx | The Redux framework for Kotlin/Android, which takes full advantage of Kotlin’s syntax, such as creating viewModels with the by keyword, preemerged Jetpack | 3.7 k. |
22 | airbnb/epoxy | Android list library, combined with MvRx, can create responsive list pages, saving a lot of template code | 6.7 k + |
23 | mikepenz/FastAdapter | Rapid creation and configuration of RecyclerView Adapter, the core code based on Kotlin implementation | 3.1 k + |
24 | spekframework/spek | Based on Kotlin’s unit testing framework, you can write UT in DLS mode | 2k+ |
25 | skydoves/Pokedex | A Best Practice project to learn Android, using various new technologies such as Dagger Hilt, Motion, Coroutines, Flow, Jetpack (Room, ViewModel, LiveData) | 3k+ |
26 | android10/Android-CleanArchitecture-Kotlin | Practicing Clean Architecture’s SampleApp in Kotlin/Android, learning the language and Architecture design at the same time | 2.7 k + |
27 | arrow-kt/arrow | The famous kotlin-based functional programming library | 3.8 k. |
28 | anvil-ui/anvil | Kotlin/Android’s responsive UI framework based on React ideas | 1.4 k + |
29 | Yalantis/JellyToolbar | A custom Toolbal for Kotlin/Android, although the library was created a few years ago | 1.5 k + |
30 | airbnb/paris | You can get rid of annoying XML by dynamically setting the Style of the control through code | 1.4 k + |
31 | google/flexbox-layout | You can use the Flaxbox layout control in Android | 15.9 k + |
32 | sanogueralorenzo/Android-Kotlin-Clean-Architecture | Another Clean Architecture library for Kotlin/Android | 1.3 k + |
33 | xiaojinzi123/Component | A powerful, 100% compatible, AndroidX, Kotlin and flexible componentized framework | 2k+ |
34 | Shopify/livedata-ktx | The Kotlin extension to Livedata, like RxJava, adds some chain operators | 460 + |
35 | arrow-kt/arrow | The famous kotlin-based functional programming library | 3.8 k. |
36 | sseasonnn/RxDownload | A multi-threaded download tool written with RxJava and Kotlin | 3.9 k. |
37 | detekt/detekt | Kotlin’s static checking tool, the AST part is also implemented in Kotlin | 3.1 k. |
38 | uber/AutoDispose | RxJava stream is automatically bind and dispose, and part of the code is implemented by Kotlin | 3k+ |
39 | moezbhatti/qksms | Kotlin/Android的IM App | 2.9 k + |
40 | square/kotlinpoet | As with Javapoet, which helps generate kotlin code, the framework itself is implemented in Kotlin | 2.4 k + |
41 | nhaarman/mockito-kotlin | Use Kotlin to write mockito in UT | 2.4 k + |
42 | Kotlin/kotlinx.serialization | Kotlin’s official serialization library, available for use with the Kotlin Multiplatform Project | 2.3 k + |
43 | pilgr/Paper | Paper is a fast NoSQL class store for Java/Kotlin objects on Android that supports automatic mode migration | 2.1 k + |
44 | square/AssistedInject | Automatically generate THE DI template code for the JSR330 specification | 700 + |
45 | freeletics/RxRedux | Redux library for Kotlin/Android, based on RxJava implementation | 500 + |
46 | babylonhealth/orbit-mvi | Model-view-intent (MVI) framework for Kotlin/Android It was inspired by Jake Wharton, RxFeedback, and Mosby’s “Managing State with RxJava” | 300 + |
47 | Foso/Jetpack-Compose-Playground | Excellent project to help you learn about Jetpack Compose | 500 + |
48 | Kotlin/dokka | Like Javadoc, adoc for generating Kotlin | 1.7 k + |
49 | skydoves/ColorPickerPreference | Color selection library on Android, can realize ColorPicker, ColorPickerDialog, ColorPickerPreference and other functions | 340 + |
50 | RubyLichtenstein/RxTest | RxTest is a Kotlin library for testing RxJava | 280 + |
51 | google/iosched | An open source project for GooglePlay’s official APP and a study of Kotlin/Jetpack’s best practices | 20k+ |
52 | ReactiveCircus/FlowBinding | RxBinding for Coroutine Flow | 450 + |
to be continued…