假如时光倒流,我会这样学Android-开发工具

工欲善其事必先利其器,不管做什么事情,好的工具必定能带来更高的效率,更好的成果。软件开发也是这样,好的开发工具也能带来事倍功半的效果,在这里我就分享一下我自己的一些开发工具,以供参考。

硬件

我目前使用的是13英寸的RMBP(Retina Mac Book Pro),2015年初买的。当时花了8k多,还是同事从台湾帮我带回来的,各项配置足够我使用了,唯一的缺憾就是SSD太小了,只有128G,如果现在买的话,我肯定会选择15英寸的。当然现在已经出了Touch Bar了。

想想当时花了这么多银子买了一个mac回来,在公司里,别人都会说:你一个开发Android的买mac干嘛?还这么贵?我只能以玩笑的口吻答道:装逼。其实内心想说“燕雀安知鸿鹄之志”。

用了这么久的mac,给我带来的好处自不用说。我喜欢各种各样的快捷键操作,喜欢命令行,可能与我一开始接触过Linux有关吧。最大的一点莫过于mac的触控板了,各种手势做的真心好用,完全可以脱离鼠标。我也再没有安装过什么杀毒软件,安全卫士了。

软件

对于科学上网这件事,上一篇博文已经描述过了,以下需要翻墙的就自行解决了

浏览器插件

这里面提到的浏览器是基于Chrome来说的,因为我一直用的是Chrome,哈哈~

  • Adblock Plus
    广告屏蔽插件,有了它,看网页再也不用担心飘来飘去的广告弹窗了

  • crxMouse Chrome Gestures
    鼠标手势插件

  • JSONView
    json数据格式化插件,当你调试服务端接口时,浏览器访问之后的json数据自动格式化,很完美

  • Octotree
    Code tree for GitHub and GitLab,以树状图的形式来展示github的代码,对于我这样一个github重度用户来说,还是很有用的,效果是这样子的
    image

开发工具

  • AndroidDevTools
    这个可谓是Android开发工具全家桶了,里面基本上能有的都有了。

  • Android Studio
    新时代开发Android如果还没有用Android Studio,那真的算是out了,想想当时用eclipse开发Android的时候,搭建一个开发环境也够喝一壶的了。下载AS可以到官网,也可以通过http://tools.android.com/这个网站来下载,这里面提供了Canary,Dev,Beta,Stable四个channel。看你自己怎么选择了。

  • Atom
    Github开源的文本编辑器

  • Postman
    调试后台接口利器,Postman helps you develop APIs faster.
    image

  • GenyMotion
    Android虚拟机,More than an emulator,a powerful virtualization platform to address all your professional needs
    image

  • iTerm2
    命令行终端,结合oh-my-zsh使用起来还是挺爽的
    image

UI相关

  • Photoshop
    不会点PS技术,怎么行走江湖呢?😏

  • Image Optim
    图片压缩,在做apk瘦身的时候,压缩png图片还是挺棒的
    image

  • Sip
    屏幕取色器,在使用Hex,RGB颜色值的时候,用这款软件取色还是挺小巧易用的
    image

Markdown相关

以上3款markdown编辑各有各的特色,各有各的优势。我只能以最简单的方式说一下差别

Mou支持markdown的所有基本格式,可横竖屏
Typora除了支持基本格式以外,还支持数学公式,任务列表等
MWeb是收费的,是收费的,是收费的。

其他

  • XMind
    一款思维导图软件,记录自己的奇思妙想。

  • Viper FTP Lite
    OS X下的FTP客户端,平时需要使用ftp的时候,这款软件还不错。

  • The Unarchiver
    OS X下的文件压缩解压缩工具,支持Zip, RAR (including v5), 7-zip, Tar, Gzip, Bzip2等。

  • Android File Transfer
    OS X下的Android文件传输工具,很好用。不过有时候你不想它烦你,只想需要的时候就找它,那么这篇文章对你可能很有帮助。火速跳转

环境变量配置

一般我会将一些常用的命令,路径,命令别名统统写到bash profile里面,打开终端使用起来就会更快,更高效

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
ANDROID_PLATFORM_TOOLS_DIR=/Users/chentao/Documents/Android/SDK/platform-tools
ANDROID_TOOLS_DIR=/Users/chentao/Documents/Android/SDK/tools
APKTOOL_DIR=/Users/chentao/Documents/Android/ApkDecompile/ApkTool-2.0.1
D2J_DIR=/Users/chentao/Documents/Android/ApkDecompile/dex2jar-2.0
GRADLE_DIR=/Users/chentao/Documents/Android/Gradle/gradle-3.1/bin
DROID_SCRIPTS_DIR=/Users/chentao/Documents/Android/DroidScripts
PATH=$ANDROID_PLATFORM_TOOLS_DIR:$ANDROID_TOOLS_DIR:$APKTOOL_DIR:$D2J_DIR:$DROID_SCRIPTS_DIR:$GRADLE_DIR:$PATH
export PATH
alias cl="clear"
alias ll="ls -l"
alias la="ls -a"
alias ai="adbInstall.sh"
alias as="appSettingPage.sh"
alias ast="appLauncherStartTime.sh"
alias dca="dumpCurrentActivity.sh"
alias cdd="cd /Users/Obsessive/Documents/"
alias cdl="cd /Users/Obsessive/Downloads"
alias cdt="cd /Users/Obsessive/Desktop"

以上仅供参考

脚本

上面的环境变量里面有一些命令别名是运行脚本的,这些脚本可以很方便的调试Android程序

  • adbInstall.sh
1
2
#!/bin/sh
adb install $1

运行脚本,跟上apk安装包的路径即可安装

  • appSettingPage.sh
1
2
#!/bin/sh
adb shell am start -a "android.settings.APPLICATION_DETAILS_SETTINGS" -d "package:$1"

有些时候,我们需要打开app的系统设置页,清除缓存或者清除数据啥的,运行以上脚本,输入package名称就可以打开了

  • appLauncherStartTime.sh
1
2
#!/bin/sh
adb shell am start -W $1/$1.$2

这个脚本是在调试应用冷启动耗时时间的,运行脚本,输入包名和Launcher Activity即可,假设应用包名是com.demo,应用启动activity位于com.demo.ui.activity下面,activity名称是SplashActivity,那么脚本使用如下:

1
appLauncherStartTime.sh com.demo .ui.activity.SplashActivity

注意com.demo和后面.ui.activity.SplashActivity之间是有一个空格的

  • dumpCurrentActivity.sh
1
2
#!/bin/bash
adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp' --color=always

这个脚本是查看当前手机屏幕上的app的activity信息

最后

我目前能安利的只有这么多了,如果你也还有什么神兵利器,不妨也分享出来呢~