Android 系统及相关开发工具简介 | 青训营笔记

308 阅读4分钟

Android 系统及相关开发工具简介 | 青训营笔记

这是我参与「第四届青训营 」笔记创作活动的第1天。

本节课主要内容

这节课主要介绍了客户端开发中我们扮演的角色、Android系统及其相关开发工具Android Studio和Git等等,本篇笔记主要对Android系统、Android Studio的安装和相关Git命令进行总结。

Android系统

Android系统架构

系统应用层

image.png 这一层是App所在的最上层,系统自带的App和自己开发的App都在这一层。一些系统的App提供的功能可以直接调用,例如打电话、发短信等,自己开发的App也可以给其他产品提供功能,例如拍照、编辑图像等等。

Java API层

image.png

这层是Android Framework提供给开发者的接口,可以基于这些接口打造自己的App。后续的数据开发和UI开发都会用到这些接口。

原生C/C++层和Android Runtime

image.png

这一层包括C/C++程序库和运行时库Runtime。

许多核心 Android 系统组件和服务(例如 ART 和 HAL)是通过C 和 C++ 编写的。Android 平台提供 Java 框架 API 来供用户实现一些功能。例如,我们可以通过 Android 框架的 Java OpenGL API 访问 OpenGL ES,以支持在应用中绘制和操作 2D 和 3D 图形。

Runtime是运行时的虚拟机,从 Android 4.4 开始,Google 开发者引进了新的 Android 运行环境 ART(Android Runtime)。Core Libraries是核心的运行时库,可提供Java API框架使用的java编程语言大部分功能。

硬件抽象层

image.png

这层主要提供硬件组件的封装,包括相机、传感器和蓝牙等。当框架API要求访问设备硬件时,Android系统将为该硬件组件加载库模块。例如我们使用抖音App拍摄短视频时,系统会请求打开摄像头,这时系统会为相机组件加载模块。

Linux内核

image.png

Android平台的基础是Linux内核,Linux内核主要负责硬件的驱动程序、网络、电源、系统安全以及内存管理等功能。

APK的构成

完成客户端的开发后,编译的代码和资源最终会打包成一个.apk文件装在用户的手机上。APK主要由以下五部分构成:

  • AndroidManifest.xml:声明App中的四大组件以及权限等
  • classes.dex:所有编写的Java、Kotlin等代码
  • res文件夹:资源文件夹,包括图片、颜色、字符串,以及搭建的XML布局文件
  • lib文件夹:主要存放C/C++代码编译成的so文件
  • META-INF文件夹:存在签名和证书,用于校验和安全

开发工具

Andorid Studio

Android Studio是Android开发用的IDE,下载和配置可以参考官方文档:developer.android.google.cn/studio/inst…

安装好和配置好IDE后,还需要创建AVD,具体步骤可以参考下面的链接:

developer.android.google.cn/studio/run/…

Android Studio最详细安装及使用教程 - 知乎 (zhihu.com)

注意在创建AVD时,在下面这个界面中,如果是第一次创建,需要先点击左侧列表中的Download进行下载,然后才能点击Next:

image.png

Git

git的工作/管理流程如下图:

image.png

workspace:工作区,本地存放项目文件的地方

Index:暂存区,这里临时保存你的改动。暂存区一般存放在 .git 目录下的 index 文件中(.git/index),所以暂存区有时也叫作索引。

Repository:本地仓库,这个目录中的所有文件都被git管理,做的所有操作都会被记录,包括:增加、删除、修改文件等。

Remote:远程仓库,是指在网络中中的你的项目的版本库,我们可以通过git命令将本地仓库的内容添加到远程仓库中。

git的常用命令如下图所示:

image.png

引用参考

Android系统架构的部分内容参考:

ANDROID系统5层系统架构_于大博的博客-CSDN博客

【Android】系统架构_李加华的博客-CSDN博客

Git的部分内容参考:

Git使用教程,最详细,最傻瓜,最浅显,真正手把手教 - 知乎 (zhihu.com)

git 简明指南 (runoob.com)