Android高手的秘密:如何利用开源项目加速提升你的开发能力

By LongLuo

牛顿有句耳熟能详的名言:“如果我比别人看得远些,那是因为站在巨人肩上的缘故。” 对于每个程序员来说,都希望自己成为一名高手,升职加薪,迎娶白富美,出任CEO,走上人生巅峰。《劝学》里也说“君子生非异也,善假于物也”,告诫我们君子的本性和其他人没有什么不同,只不过是善于利用和借助客观工具, 善于借助外部系统的能量。大神也是从小白过来的,每个小白只要掌握正确的方法,坚持努力,也可以成为大神。

开源项目就是那个巨人,我们可以通过学习开源项目的源码,了解其设计思想,将其应用于我们自己的项目中,吃透其代码,不知不觉中我们的能力也会有大幅度提高。

个人收集了一些很好的Android开源项目,认真学习并掌握,可以大大提升我们的能力。

Android

Google Android开发者官方网站

不用说,Android开发官方权威网站,网站提供的示例和文档值得认真学习和阅读。

https://developer.android.google.cn/

Android Samples

Android官方提供的各种示例和实践,值得认真学习。

https://github.com/android

Android Source Code

在线阅读Android系统源码,提供Android源码的交叉索引,可以快速的搜索符合特定条件的Android源代码,后台是基于OpenGrok引擎,OpenGrok是一个快速,便于使用的源码搜索引擎与对照引擎,它能够帮助我们快速的搜索、定位、对照代码树。

http://androidxref.com/

Github Android Topics

Github 的Android Topics,可以查询到一些Android知名开源项目:

https://github.com/topics/android

Android开源项目汇总

Trinea收集的Android开源项目,内容非常丰富,大家可以各取所需,不过绝大部分偏重于App开发。

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

大前端 跨平台开发

Flutter

官网:https://flutter.dev/

Source Code

架构

architecture-samples

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

安全

cSploit

官网:http://www.csploit.org/

https://github.com/cSploit/android

android-security-awesome

https://github.com/ashishb/android-security-awesome

AndroidSecurityStudy

https://github.com/r0ysue/AndroidSecurityStudy

security-samples

https://github.com/android/security-samples

UI

awesome-android-ui

Android UI库

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

lottie-android

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

音视频

VLC Android

https://github.com/videolan/vlc-android

ijkplayer

https://github.com/bilibili/ijkplayer

地图 Map

Mapbox

https://github.com/mapbox/mapbox-gl-native

https://github.com/mapbox/mapbox-maps-android

AirMapView

https://github.com/airbnb/AirMapView