Android开发时,那些相见恨晚的工具或网站!
本文来我在知乎话题Android开发时你遇到过什么相见恨晚的工具或网站?下的回答!
在实际Android开发过程确实会有很多相见恨晚的工具或网站出现,下面是我自己的一些分享。
1、源码网站
https://github.com/googlesamples
Android系统每次推出一些新特性,Google都会写一些Demo放在Github上,对于想要了解新特性怎么玩的同学,肯定不能错过它。
https://www.codota.com/

如果你不知道一个Android的类怎么用,可以在Codota上面快速的找到很多不错的示例代码。
https://android-arsenal.com/
你是否还在为找不到合适的开源库而苦恼,Android Arsenal这个网站已经帮你做了一定的分类,可以帮你提高不少效率。
https://android.googlesource.com/
Android所有的源代码都在这里,只需找到对应想要的模块,用Git克隆下来即可。比如,我想要的framework代码。

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

7、调试利器
http://facebook.github.io/stetho/
Stetho,来自Facebook,它能做什么?无需root,借助Chrome可以查看SharePreferences和数据库中的数据,此外还有网络抓包以及查看View树等。

8、性能优化
http://hukai.me/
胡凯,腾讯开发者,翻译了一系列的Google Android性能优化典范的文章。
https://hujiaweibujidao.github.io/
Hujiawei,魅族开发者,博客最近经常更新Android性能数据搜集统计的相关的文章,本人受益匪浅。
Android开发时,那些相见恨晚的工具或网站!的更多相关文章
- (转载) Android开发时,那些相见恨晚的工具或网站!
huangmindong的专栏 目录视图 摘要视图 订阅 赠书 | 异步2周年,技术图书免费选 程序员8月书讯 项目管理+代码托管+文档协作,开发更流畅 Android ...
- 转发—Android开发常用的插件及工具
作者:蓝之风 出处:http://www.cnblogs.com/vaiyanzi/ Android开发常用的插件及工具 1.GitHub,这个不管是做安卓还是其他,只要是开发就必上的网站,也是天朝没 ...
- Android开发时包名、签名、渠道和版本号的易坑点(转)
本文中总结一下 Android 开发中容易被忽视的一些注意事项吧: 一.谨慎选择包名 包名 (Package Name) 就相当于一款应用在户口本上登记的名字,是系统用来区分不同应用的字段.重复的包名 ...
- Android开发常用的插件及工具
1.GitHub,这个不管是做安卓还是其他,只要是开发就必上的网站,也是天朝没有墙掉为数不多的网站 2.Stack OverFlow,这个和上面一样,国外非常著名的问答网站,在上面基本上很多问题都可以 ...
- 最强最全干货分享:Android开发书籍、教程、工具等
最全干货分享,本文收集整理了Android开发所需的书籍.教程.工具.资讯和周刊各种资源,它们能让你在Android开发之旅的各个阶段都受益. 入门<Learning Android(中文版)& ...
- 解决Mac上Android开发时adb连接不到手机问题
今天在Mac OS上进行Android开发的时候,打开eclipse连接不到手机MX4问题 1. 插入手机打开 Terminal,输入 system_profiler SPUSBDataType 2 ...
- android开发时,finish()跟System.exit(0)的区别
这两天在弄Android,遇到一个问题:所开发的小游戏中有背景音乐,玩的过程中始终有音乐在放着,然后在我退出游戏后,音乐还在播放! 我看了一下我最开始写的退出游戏的代码,就是简单的finish() ...
- Android开发时提示Your project contains error(s),please fix them be
有次在使用eclipse写好Android的代码,代码没有报错.然后 想在AVD中运行测试时,总是会弹出错误框,提示信息为: “Your project contains error(s),pl ...
- 用Eclipse做Android开发时出现java.lang.NoClassDefFoundError问题
之前有遇到过这个问题,后来解决了,今天又遇到了,但是忘了当时是怎么解决的,费了好长时间,终于又找回解决的方法,现在记录下来,以防以后又遇到. 这个错误出现在我的某一个Activity,但是我反复确认了 ...
随机推荐
- POJ 1046
#include<iostream> using namespace std; #define MAXN 16 #define inf 100000000 struct node { in ...
- 【PaddlePaddle系列】报错解决方法合集 (不定时更新)
1.PaddlePaddle使用CPU时正常运行,但是使用GPU时却报出一堆错误信息,节选如下: paddle.fluid.core.EnforceNotMet: enforce allocating ...
- 做了三年的菜鸟web前端的感悟
作为一名真正的菜鸟我想没有比我更加实在的了,三年之中,虽然做了一二三四五六七个项目,基本都是jQuery写的,但是还是一名不折不扣的菜鸟.这让我很尴尬啊,面对前端大量要学习的东西,真的是很头疼,技术更 ...
- IP等级
IP是Ingress Protection的缩写,IP等级是针对电气设备外壳对异物侵入的防护等级,来源是国际电工委员会的标准IEC 60529,这个标准在2004年也被采用为美国国家标准. 在这个标 ...
- 搜索类网站记录 && 代理服务器
搜索类网站记录 && 代理服务器 技巧 1.使用site 我们在搜索的时候,其实不全依赖搜索引擎也是可以的, 比如我们要搜索一个 “中国” ,可以在搜索框输入 中国 site ...
- 在Mac OS X上启用Apache和PHP
因为Mac OS X上都已自带了Apache和PHP,所以都无需进行安装,只要按照自己的需要进行设置即可. 找到httpd.conf文件,并用编辑器打开. 加载PHP模块.找到 #LoadModule ...
- python 获取excel表内容 生成php数组
需求: 生成:同时处理数字类型,比如3 不能显示为3.0 [ ['type'=>3,'da_name'=>福建省平潭拓至美装饰工程有限公司,'da_aka'=>福建省平潭拓至美装饰工 ...
- Zookeeper+ActiveMQ集群搭建
搭建三台虚拟机安装centos7.要提前安装好jdk环境 1.环境准备,搭建三台虚拟机ip分别是 192.168.192.130 192.168.192.131 192.168.192.134 Zoo ...
- Calendar详解
(在文章的最后,将会介绍Date类,如果有兴趣,可以直接翻到最后去阅读) 究竟什么是一个 Calendar 呢?中文的翻译就是日历,那我们立刻可以想到我们生活中有阳(公)历.阴(农)历之分.它们的区别 ...
- 第一章 面向对象软件工程与UML
这个OOAD讲的都是很抽象的东西!老师说这个在现在的学习中用到的不是很多,但是以后出去工作的时候就会常用到的. 首先来了解OOAD是讲什么的. OOAD:Object Oriented Analysi ...