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