题外话
工欲善其事,必先利其器。有良好的工具,开发事半功倍。本篇介绍我经常使用的一些开发工具,还有其他各式各样的工具可以参考最后的相关参考,有其他好的工具,欢迎留言补充下哈😄
注:本文快捷键是 Mac 的。
后续更新/勘误(2017.09.04),请点击查看
AS 工具
Android Studio 插件一般两种安装方法,
- 直接在仓库里面搜索插件,直接安装。
- 对于一些小众插件,还没上传到仓库的,可以直接下载到本地,通过
[Install plugins from disk…] 从硬盘安装。
GsonFormat
- 说明
直接把后台返回的 JSON 复制进去,就能自动生成对应的 Bean。支持多层级,支持单个数据类型修改。 - 快捷键
option + s
JsonToKotlinClass
- 说明
kotlin 版本的 GsonFormat,JSON 复制进去,直接生成对应的 Bean。 - 快捷键
option + k
Android ButterKnife Zelezny
- 说明
我们经常用 ButterKnife 代替 findViewById。配合 ButterKnife,布局写好,用这个插件,一键就能把所有对象,监听都生成好。 - 快捷键
选中资源文件( 比如 R.layout.activity_settings ) -> command + N -> Generate Butterknife Injections
Android-Resource-Usage-Count
- 说明
统计资源使用次数,乍看一下没有什么用,其实用处还不小。
- 轻松的识别出使用次数为 0 的资源,可以快速的手动删除它们。
- 与其他小伙伴合作开发项目,有时候遇到一个 string ,我们要修改他,但是不知道其他人的模块是否有用到,之前的方式是要全局去搜索,现在只要看到使用次数为 1 的,就可以断定只有自己的模块使用到,你就可以随便修改了。
WIFIADB 无线调试
- 说明
如果你厌倦了 USB 调试,觉得手机经常插在电脑上不好,而且公司的网速上行速度够快的话,完全可以用 wifi 调试。
LayoutFormatter
- 说明
xml 代码格式化 - 快捷键
command + option + F
Codota
- 说明
这个是用来搜索代码的。有时候一些 API 不知道怎么用,这个时候如果有案例就好了,使用这个插件,可以轻松的找到示例代码。Codota 有对应的 chrome 插件,当然直接浏览器打开他的网址直接搜,也是没有问题的。 - 快捷键
option + k
Lifecycle Sorter
- 说明
使用频率较小,这个工具是用来,让 Activity 或者 Fragment 按照声明周期的顺序进行排列的。 - 快捷键
command + option + K
CodeGlance
- 说明
使用频率较小,安装了这个插件,就是在右侧有一个代码预览的侧边栏,有什么用呢?也没什么用,就是让你能对代码位置有个大致的把握,还有就是比较炫😂
辅助 APP
Android 开发助手
Trinea 大神开发的工具,集成了许多系统开发者选项,有了这个 APP ,就不用在多层的系统层级里面找这些功能了。一键打开。
android-TopActivity
这个 APP 是用来显示当前 Activity 的。非常有用。有时候我们熟悉一个项目,不知道这个界面对应的是哪个 Activity,很可能这时候就有从入口开始,一步步跟代码,看他怎么跳转的。有了这个 APP 就非常方便,他会在左上角开启一个悬浮框,在里面显示当前应用的包名 和当前界面对应的 Activity 。
Chrome 相关
Vysor
chrome 插件。把手机屏幕投影到电脑里面,而且通过点击电脑的屏幕,可以把对应指令传给手机,实现对手机的控制。
使用场景:
- 手机截图视频控制。
- 远程控制手机。
Stetho
facebook 开发,用来查看 APP 数据库,网络状态,本地的 SharedPreference。设备不需要 root,但是需要能科学上网。
使用步骤:
- 在 builde.gradle 引入该包。
1
2
3compile 'com.facebook.stetho:stetho:1.5.0'
compile 'com.facebook.stetho:stetho-okhttp3:1.5.0'
compile 'com.facebook.stetho:stetho-js-rhino:1.5.0' - 在 Apprication 的 onCreate() 进行初始化。
Stetho.initializeWithDefaults(this);
- 在 chrome 的地址输入栏里面输入,
chrome://inspect
效果如下图所示:
其他
直接弹到某个界面
- 说明
调试的时候,有时候写的界面是在层层点击里面的,这时候要么把他设置成默认启动界面,要么就要就层层去点,才能看到这个界面。 - 用法
- 在 AndroidManifest.xml 声明该 Activity 是可以被外部启动的。
android:exported="true"
注意:正式环境,记得去掉该声明,不然该界面可能会被外部随便启动 - 在 Terminal cd 到当前目录,之后输入(按照包名/类名的形式)
1
$ adb shell am start -n com.green.tomato.datusi/com.green.tomato.datusi.activity.RegisterLastExActivity
一键运行开源项目
在 github 的开源项目,以前要运行的话,是先 clone 到本地,之后要么用 Android Studio 导入跑起来,要么用 gradle 命令行打包编译。
如果 gradle 版本不一致,要么修改为本地有的版本,要么重新下载新的 gradle。
我只是要看的开源项目的显示效果,有没有办法可以一键就能看,这些步骤都集合在一起。
是有的,使用 dryrun 可以满足你的要求。
使用的时候只需要,一个命令行,( dryrun + github 地址 )
$ dryrun https://github.com/cesarferreira/android-helloworld
从下面的运行结果,我们可以看出,执行这个命令行,本质就是 clone 项目到本地临时文件,之后判断 gradle 是否下载,没有下载的话,就下载。之后编译 app,并安装到设备上。
特别注意
如果你之前没有安装过 dryrun 还需要安装。
$ gem install dryrun
在 mac 上,正常情况下安装的时候是有如下两个问题的:
1 | ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError) |
这个问题是因为,需要使用科学上网,不能科学上网的话,要使用国内镜像。
1 | ERROR: While executing gem ... (Gem::FilePermissionError) |
这个问题是因为,权限不足,解决办法是重新用 brew 安装一个新的 ruby。
这两个解决方法,这个帖子说得挺详细的,大家可以看看。
apkpure
这个是用来下载 Apk 的。在哪里能下载纯正的 Android APP,当然是官方的 Google Play,但是因为 Google 已经退出中国了,国内的各大 ROM 厂商都把 Google Play 去除了,假设你费力的安装上了,但是还需要科学上网….
通过这个网站,在里面直接搜索你想要的 APP (可以把 Google Play 对应该 APP 的地址复制进去搜索),就能下载下来了。比国内各大应用商店的可靠。
抓包/模拟弱网工具
Mac 下最好的抓包工具是 charles,Windows 下则是 Fiddler。
下面以 charles 为例。配置说明参照下面这两篇文章即可,文章1,文章2
注意:charles 为收费软件,免费使用 30 天。到时怎么办,可以戳这里,对应的脚本。
下图为模拟弱网的设置,选择最小的 56 kbps Modem 的即可。
后台接口调试工具
insomnia 或者 postman 都可以,这些工具除了客户端版本,还有 chrome 版本供我们选择。
更新/勘误
更新
2017.09.04
勘误
暂无
相关参考
[1]安卓开发中必备的那些神器APP
[2]Android Studio插件整理
[3]使用CHROME来调试你的ANDROID APP
[4]Android 常用抓包工具介绍之Charles
[5]Charles 从入门到精通
[6]教你一招最屌的阅读开源项目的姿势
[7]Mac OS X 下使用 Ruby Gem 的两个坑