本文来我在知乎话题Android开发时你遇到过什么相见恨晚的工具或网站?下的回答!php
Android开发时你遇到过什么相见恨晚的工具或网站?android
在实际Android开发过程确实会有不少相见恨晚的工具或网站出现,下面是我本身的一些分享。git
Android系统每次推出一些新特性,Google都会写一些Demo放在Github上,对于想要了解新特性怎么玩的同窗,确定不能错过它。数据库
若是你不知道一个Android的类怎么用,能够在Codota上面快速的找到不少不错的示例代码。网络
你是否还在为找不到合适的开源库而苦恼,Android Arsenal这个网站已经帮你作了必定的分类,能够帮你提升很多效率。ide
Android全部的源代码都在这里,只需找到对应想要的模块,用Git克隆下来便可。好比,我想要的framework代码
克隆Android一个模块的代码量是不少的,有时候我只想要几个类的代码怎么办?AndroidXRef这个网站可让你单独搜索某个类,要哪几个下载哪几个便可。
除了AndroidXRef能够查看某个类的源代码外,GrepCode一样也能作到。并且GrepCode不限于Android的源码,这里也推荐一下。
源码分析的网站不少,这里举几个比较经典的网站。
国内Android源码分析的先驱,由滴滴的技术专家Trinea发起,坦白的讲,这个项目对个人影响很大,我也从这里开始体会源码解读的魅力的。
老罗,罗升阳的我的博客站点,不少人看过他博客里面是如何分析Android和Chrome的源代码的。很是好的一个网站,之前功力不够没能看懂文章,通过一段时间后再回去翻看一些文章,不得不赞。
GitYuan,MIUI系统工程师,他的博客常常分享Android系统源码解读的文章,质量很高。并且,更新频率也很高!
https://github.com/LittleFriendsGroup/AndroidSdkSourceAnalysis
CJJ,猪场(网易)的开发者,由他带领发起的Android SDK源码解析,一样推荐。
##酷炫动画
Airbnb开源的动画库,为何推荐它,是由于它让复杂酷炫的动画效果轻松实现了,不只提升工程师的效率并且性能很是客观。我在YY工做,内部已经有一套和它实现原理同样的框架,因此看到Lottie的时候,一点不以为奇怪,考虑可能还有很多童鞋应该还不知道它,这里再推荐一下。(PS:Lottie还有iOS、React Native、Web端的实现哦)
Bugly,腾讯出品的SDK,对Crash搜集的体验很是赞,能搜集到JNI层的奔溃以及监控线上的ANR问题。
Crashlytics,国外的一个SDK,我本身没用过,可是用过的朋友对它的评价颇高。
ARCA,一个开源的崩溃日志搜集器,轻松让你实现客户端的崩溃日志上传到后台,若是你不喜欢接入别人家的SDK,可使用它。有一个不足之处,就是它搜集不到JNI层的奔溃。
##逆向分析
逆向分析工具太多,举几个经典的作例子。
Jdax,轻轻一下,立马让apk宽衣解带,下面是我拿知乎开刀的例子。
Classyshark,轻松查看apk内部每一个包的方法数,用了哪些开源库,一样拿知乎开刀作例子。
smali代码调试插件,你觉得没有拿到安卓Java源码就不能调试了吗?图样图森破了吧。
IDA Pro,逆向大利器,无论你是smali仍是so文件,照样动态调试你。
注意,这些用来涨知识就好,别干坏事!
Android Studio插件不少,只推荐两个我经常使用的。
https://github.com/mcharmas/android-parcelable-intellij-plugin
帮助继承Parcelable的类自动生成相应代码,在没碰见它以前,手动写过大量的Parcelable实现代码,真的好痛苦。
根据JSON数据快速生成Java实体类,又一波解放生产力。
Stetho,来自Facebook,它能作什么?无需root,借助Chrome能够查看SharePreferences和数据库中的数据,此外还有网络抓包以及查看View树等。
胡凯,腾讯开发者,翻译了一系列的Google Android性能优化典范的文章。