Android系统及客户端概览

280 阅读2分钟

移动生态

首先我们来看移动互联网的一个简单架构。

图片.svg

其实理解起来很简单,人需要了解世界上的内容,手机在这里起到一个媒介的作用。但是这里,表面看起来是人与机器的关系,实际上还是人与人的关系。

那么这里客户端其实就是离用户最近的研发

Android知识图谱

未来我们会面向各种不同的研发,虽然用户群体是很复杂的,但是抽象简化下来其实就是三个角色。

  1. 对外(用户):为用户创造价值。 对用户其实存在三个递进层次的交付。 第一层交付,其实就是简单交付,这里包括页面、逻辑和数据。页面中包括Android基础和复杂View视图层;逻辑包括语言和代码结构;数据包括网络和存储。
    第二层交付其实就是多样性的需求。这里包括视频、直播、AR、图像和游戏。
    第三层交付其实就是深层次需求。包括体验、质量、安全和个性化。
  2. 对内(公司):减少公司成本。 对内分为单人效能和团队效能。其中单人效能受编译、CICD和工具影响;团队效能受工程架构、业务架构、流程管理和跨平台管理。
  3. 自身(个人):自身也是产品,自身的技术品牌 自身其实也有三个递进的层次的交付。 第一层是要满足基本技能。首先是Android系统基础,然后语言也要熟练,最后也要有程序员的基本素养。
    第二层是要提高自身的技术高度。那首先是系统底层要熟悉,然后还有架构设计和业务能力要深。
    第三层就是要培养自己的综合素养。那么首先是深度思维,然后是自己的认知,最后是开放的心态。

认识Android系统

首先来看Android系统的结构图。

image.jpeg

可以看到Android系统其实分为五层。

  • 系统应用层(System Apps)也就是我们开发的App所在的地方。
  • Java API层则是最基础的交付内容,包括页面+逻辑+数据。
  • 原生C/C++层和Android Runtime层可以满足多样化的需求,例如音视频编解码、安全、质量、体验等。
  • 硬件抽象层(HAL)主要提供硬件组件的封装。
  • 而Linux的内核就是Android平台的基础。

认识Android开发工具

Android开发的IDE是Android Studio。通过下方网址就可以下载
Download Android Studio & App Tools - Android Developers (google.cn)

另外,版本控制工具还要用到Git,下图是一张Git命令的速查表。

image (1).jpeg

通过该表我们可以很快地上手Git进行项目版本控制了。