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开发插件

App架构师实践指南二之App开发工具的更多相关文章

  1. App架构师实践指南一之App基础语法

    第二章:App基础语法1.编程范式编程范型或编程范式(programming paradigm),是指从事软件工程的一类典型的编程风格.常见的编程范式有过程化(命令行)编程.事件驱动编程.面向对象编程 ...

  2. App架构师实践指南六之性能优化三

    App架构师实践指南六之性能优化三 2018年08月02日 13:57:57 nicolelili1 阅读数:190   内存性能优化1.内存机制和原理 1.1 内存管理内存时一个基础又高深的话题,从 ...

  3. App架构师实践指南四之性能优化一

    App架构师实践指南四之性能优化一     1.性能维度常见用来衡量App性能的维度如图9-1所示.其中,性能指标包括电池(电量/温度).流量(上行流量/下行流量等).CPU(平均/最大/最小).内存 ...

  4. App架构师实践指南五之性能优化二

    App架构师实践指南五之性能优化二 2018年07月30日 13:08:44 nicolelili1 阅读数:214   从UI和CPU方面来说App流畅体验优化,核心为流畅度/卡顿性能优化. 1.基 ...

  5. App架构师实践指南三之基础组件

    App架构师实践指南三之基础组件 1.基础组件库随着时间的增长,代码量的逐渐积累,新旧项目之间有太多可以服用的代码.下面是整理的公共代码库. 2.关于加密密钥的保护以及网络传输安全是移动应用安全最关键 ...

  6. Jeecg-Boot 开发环境准备(二):开发工具安装

    目录索引: 后端开发工具 前端开发工具 Nodejs镜像 WebStorm入门配置 JeecgBoot采用前后端分离的架构,官方推荐开发工具 前端开发: Webstrom 或者 IDEA 后端开发: ...

  7. 【架构师之路】APP架构师必看:面对爆发流量如何进行架构调整

    一.APP架构与WEB架构的最大不同 移动APP的架构和传统PC的WEB架构有三点不同: 1.连接的稳定性.在传统的web端连接成功后就可以认为它是稳定的,但在移动端.无线端,APP连接非常敏感,可能 ...

  8. 架构师之路-在Dubbo中开发REST风格的远程调用

    架构师之路:从无到有搭建中小型互联网公司后台服务架构与运维架构 http://www.roncoo.com/course/view/ae1dbb70496349d3a8899b6c68f7d10b 概 ...

  9. 微信小程序开发(二)认识开发工具

    腾讯微信团队提供非常优秀的微信小程序开发工具,大大降低了开发者的入门门槛,为他们点赞!上一篇文章已经说明了,如何注册及下载开发工具,现在我们就来一起认识见识一下开发工具的庐山真面目. 首次打开这个开发 ...

随机推荐

  1. JVM相关参数的采集

    1.以-jar方式启动jar包: java -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=40100 ...

  2. WPF GDI+ bitmap.save 一般性错误

    做水印图片的时候,发现WPF的System.Windows.Shapes类有绘制直线,椭圆等形状.却没有绘字符串的类. 无奈之下又用回GDI+ 发生的GDI+一般性错误初步估计的线程的原因. 在loa ...

  3. BZOJ2190 [SDOI2008]仪仗队(欧拉函数)

    与HDU2841大同小异. 设左下角的点为(1,1),如果(1,1)->(x,y)和(1,1)->(x',y')向量平行,那只有在前面的能被看见.然后就是求x-1.y-1不互质的数对个数. ...

  4. 乳草的入侵//BFS

    P1030 乳草的入侵 时间: 1000ms / 空间: 131072KiB / Java类名: Main 背景 USACO OCT09 6TH 描述 Farmer John一直努力让他的草地充满鲜美 ...

  5. WCF的配置文件中的要素

    Windows Communication Foundation Configuration Schema

  6. JAVA List与数组间相互转换

    1.list转数组 例如: List<String> list =  new ArrayList<String>(); list.add("aa"); li ...

  7. JavaEE 藏经阁

    后台技术 工作流引擎:Activiti5 ORM框架:Mybatis/Hibernate JPA Web框架:SpringMVC/Struts 核心框架:Spring Framework4.0 任务调 ...

  8. 配置nginx + keepalived 双主模式(双机互为主备)

  9. 【Linux命令】top命令

    一.简介 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,常用于服务端性能分析. 二.使用 1.查看进程内线程情况 top -Hp 2556(2556为进程号)找 ...

  10. 转CB大佬的几个有用的MySQL知识

    1.find_in_set函数 find_in_set(str,strlist); str是一个字符串 strlist是字符串列表--一个有多个子链被“,”分开的字符串 有多种情况: a.str为nu ...