IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Android-系统架构-编译源码 -> 正文阅读

[移动开发]Android-系统架构-编译源码

系统架构

Android系统架构

在这里插入图片描述
Linux内核层:
??包含Linux内核和一些驱动模块(比如USB驱动,Camera驱动,蓝牙驱动)。
Libraries层:
??这一层提供动态库(也叫做共享库),Android运行时库,Dalvik虚拟机等。
Framework层:
??这一层大部分使用的是java语言编写,也叫java框架层,为应用程序提供API。
Applications层:
??与用户进行交互的就是这些应用程序,他们都是用java进行开发的。
在这里插入图片描述

??java是通过JNI层调用Linux OS中的系统调用来完成对应的功能。java世界是通过JNI层通过IPC方式与Native世界进行交互(IPC方式我们后面再说),除此之外,Socket也是常见的IPC方式。

编译源码

??Android平台提供了三个命令用来编译,分别是makemmmmm,使用方法和优劣如下:
make:
??不带任何的参数,它用于编译整个系统,时间比较长,除非想要编译整个系统,否则一般不推荐。
make MediaProvider:
??优点是会把该模块依赖的其他模块一起编译,例如make libmedia依赖的库全部编译好,其缺点也很明显,需要整个源码来定位MediaProvider模块所使用的Android.mk文件,并且还要判断该模块所依赖的其他模块是否有修改,整天编译时间比较长。
mmm packages/providers/MediaProvider:
??该命令将编译指定目录下的目标模块,而不是编译所依赖的模块,所以,如果是初次编译,采用这种方式一个模块往往会报错,错误原因是因为它所依赖的模块未被编译。
mm:
??这种方式需要先用cd命令进入packages/providers/MediaProvider目录,然后执行mm命令,它和mmm一样,只编译目标模块,执行编译的速度都很快。
使用推荐:
??1.如果只知道目标模块的名称,则应使用make模块名的方式进行编译,初次编译需要使用这种方法。
??2.如果不知道目标模块的名称,但是直到目标模块的目录,需要使用cd进入目录,然后使用mmm或mm来编译,如果是初次进行编译,则需要使用make,以后就可以使用mmm或mm,这样节约时间。
注意:
??1.一般编译时都是用的是增量编译,就是只编译发生变化的目标文件,但是有时候需要编译所有的目标文件,那么就可以使用make中的-B选项,-B选项强制编译所有的目标文件。
??2.系统服务被杀掉一般都会自动重启(由init控制)。

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-03-03 16:26:11  更:2022-03-03 16:26:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 16:34:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码