App架构师实践指南二之App开发工具
1、Android Studio
2、编译调试
---条件断点。右键单击断点,在弹出的窗口中输入Condition条件。
---日志断点。右键单击断点,在弹出的窗口中取消勾选Suspeng复选框,然后勾选Logevaluated expression,并输入打印语句即可。
---变量赋值。动态改变变量值调试程序,无须重新运行程序。在该变量的代码处打个断点,然后在Variables窗口找到对应的变量,修改变量值再执行即可。
---计算求值。与变量赋值类似。
---变量观察。直接值断点处以弹框形式查看变量属性值,而不需要值variables变量区和watches观察区查看。
---异常断点。工具栏菜单Run——>选择View Breakpoints——>添加Exception Breakpoints异常断点。
3、版本管理
作为个人开发者,主要使用的是Github或者Bitbucket/Gitcafe,如果使用Github(免费版)必须开源,而Bitbucket/Gitcafe可以使你拥有一定量的私有项目。
作为创业型团队,建议使用Github在公司服务器构建一个Git代码管理平台,或者付费使用Github等工具。
作为大型团队,基本上都是基于Gitlab来搭建Git托管服务器等。如果项目太大,涉及的人太多,Git库超过了GB等级,此时就不太适合用一个Git库来管理来,可以结合Repo(一个管理Git库的工具)和Gerrit来管理。
3.1、 Git分支管理
可以参考learnGitBranching这个开源项目。核心把握下面几个基本原则
---控制好你的分支,区分Release分支(版本发布分支)、Master分支等,保护好你的Realease分支。
---控制分支数量,删除不必要的励志特征分支。
---每次版本体测前、灰度前、发布前记得打Tag。
---分支和主干不能分离,不能脱离组织独干,分支一定是要和主干合并的。如果某种当前特性分支持续时间比较长,那也要不定期地融合主干与分支。所谓分久必合,长期分离是不对的。
---慎待Rebase,深刻理解Gitbase后再使用。
---使用Issue,Markdown。
---关注Code Review,使用Gerrit相对来说比较惬意。
---冲突来,不要慌,沉住气,满满解决。解决冲突必备的装备主要有Kdiff和BeyondCompare。Android Studio内部集成了Git Merge工具。
一般通用的分支管理策略如图3-5和图3-6所示,图3-5是A successful Git branching model一文中描述的Git-Flow流程,图3-6是作者对以前项目的一种分支管理模式的图形化整理,主要有5个核心分支干系,分别为master主干分支、版本主干分支bus/trunk,发布分支bus/trunk{$versionName}、特性主干分支featureX{$featureName}以及hotfix{$versionName} Bugfixed分支,其核心思想是Bug修复主要沿着master分支进行,修复后并进master分支;特性主干分支每次从master分支拉取代码,一个特性完成后合并进bus/trunk分支,最后以恶版本发布后,bus/trunk分支再合并进master主干分支(小技巧,bus_trunk命名换为bus/trunk方式,无论事在SourceTree还是Github界面上,都能够以文件夹的方式呈现)
4、产品设计
5、抓包工具
使用抓包工具希望达到的目的
---SSL拦截。Mac Charles中,如果要在真实设备上拦截SSL连接,需要安装证书。
---弱网环境模拟。弱网模拟有多种用途,其中最主要的是测试App的兼容性。
---断点功能。用于篡改Request和Response数据。
--网络流量检测。最常见的方式是使用TCPDump抓取设备上的网络流量信息,然后在PC上用Wireshark分析。
6、ADB
7、Chrome开发插件