论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
云原生
›
Android体系架构与体系源码目次,花2万块买的教程 ...
Android体系架构与体系源码目次,花2万块买的教程
我爱普洱茶
金牌会员
|
2024-7-14 13:43:33
|
显示全部楼层
|
阅读模式
楼主
主题
519
|
帖子
519
|
积分
1557
1.5、
硬件抽象层(HAL)
硬件抽象层是位于操纵体系内核与硬件电路之间的接口层,其目标在于将硬件抽象化,为了掩护硬件厂商的知识产权,它隐藏了特定平台的硬件接口细节,为操纵体系提供虚拟硬件平台,使其具有硬件无关性,可在多种平台上举行移植。 从软硬件测试的角度来看,软硬件的测试工作都可分别基于硬件抽象层来完成,使得软硬件测试工作的并行举行成为可能。通俗来讲,就是将控制硬件的动作放在硬件抽象层中。
1.6、
Linux内核层
Android 的焦点体系服务基于Linux 内核,在此底子上添加了部分Android专用的驱动。体系的安全性、内存管理、进程管理、网络协议栈和驱动模子等都依靠于该内核。
Android体系的五层架构就讲到这,相识以上的知识对以后分析体系源码有很大的资助。
2、
Android体系源码目次
===================
2.1、
整体布局
各个版本的源码目次基本是类似,假如是编译后的源码目次会多增加一个out文件夹,用来存储编译产生的文件。Android7.0的根目次布局阐明如下表所示。
| Android源码根目次 | 形貌 |
| — | — |
| abi | 应用程序二进制接口 |
| art | 全新的ART运行环境 |
| bionic | 体系C库 |
| bootable | 启动引导相关代码 |
| build | 存放体系编译规则及generic等底子开辟包设置 |
| cts | Android兼容性测试套件标准 |
| dalvik | dalvik虚拟机 |
| developers | 开辟者目次 |
| development | 应用程序开辟相关 |
| device | 装备相关设置 |
| docs | 参考文档目次 |
| external | 开源模组相关文件 |
| frameworks | 应用程序框架,Android体系焦点部分,由Java和C++编写 |
| hardware | 主要是硬件抽象层的代码 |
| libcore | 焦点库相关文件 |
| libnativehelper | 动态库,实现JNI库的底子 |
| ndk | NDK相关代码,资助开辟人员在应用程序中嵌入C/C++代码 |
| out | 编译完成后代码输出在此目次 |
| packages | 应用程序包 |
| pdk | Plug Development Kit 的缩写,本地开辟套件 |
| platform_testing | 平台测试 |
| prebuilts | x86和arm架构下预编译的一些资源 |
| sdk | sdk和模拟器 |
| system | 底层文件体系库、应用和组件 |
| toolchain | 工具链文件 |
| tools | 工具文件 |
| Makefile | 全局Makefile文件,用来界说编译规则 |
表3
从表3可以看出,体系源码分类清晰,并且内容巨大且复杂。接下来分析packages中的内容,也就是应用层部分。
2.2、
应用层部分
应用层位于整个Android体系的最上层,开辟者开辟的应用程序以及体系内置的应用程序都是在应用层。源码根目次中的packages目次对应着体系应用层。它的目次布局如表4所示。
| packages目次 | 形貌 |
| — | — |
| apps | 焦点应用程序 |
| experimental | 第三方应用程序 |
| inputmethods | 输入法目次 |
| providers | 内容提供者目次 |
| screensavers | 屏幕掩护 |
| services | 通信服务 |
| wallpapers | 墙纸 |
表4
从目次布局可以发现,packages目次存放着体系焦点应用程序、第三方的应用程序和输入法等等,这些应用都是运行在体系应用层的,因此packages目次对应着体系的应用层。
应用框架层部分
应用框架层是体系的焦点部分,一方面向上提供接口给应用层调用,另一方面向下与C/C++程序库以及硬件抽象层等举行衔接。 应用框架层的主要实现代码在/frameworks/base和/frameworks/av目次下,此中/frameworks/base目次布局如表5所示。
| /frameworks/base目次 | 形貌 | /frameworks/base目次 | 形貌 |
| — | — | — | — |
| api | 界说API | cmds | 告急命令:am、app_proce等 |
| core | 焦点库 | data | 字体和声音等数据文件 |
| docs | 文档 | graphics | 图形图像相关 |
| include | 头文件 | keystore | 和数据署名证书相关 |
| libs | 库 | location | 地理位置相关库 |
| media | 多媒体相关库 | native | 本地库 |
| nfc-extras | NFC相关 | obex | 蓝牙传输 |
| opengl | 2D/3D 图形API | packages | 设置、TTS、VPN程序 |
| sax | XML剖析器 | services | 体系服务 |
| telephony | 电话通讯管理 | test-runner | 测试工具相关 |
| tests | 测试相关 | tools | 工具 |
| wifi | wifi无线网络 | | |
表5
自我先容一下,小编13年上海交大结业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到如今。
深知大多数Android工程师,想要提升技能,通常是自己探索发展或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技能故步自封!
因此网络整理了一份《2024年Android移动开辟全套学习资料》,初志也很简单,就是希望可以或许资助到想自学提升又不知道该从何学起的朋侪,同时减轻大家的负担。
既有适合小白学习的零底子资料,也有适合3年以上履历的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开辟知识点,真正体系化!
由于文件比较大,这里只是将部分目次大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、解说视频,并且后续会持续更新
假如你觉得这些内容对你有资助,可以添加V获取:vip204888 (备注Android)
保举学习资料
脑图
[外链图片转存中…(img-S9GSE99O-1711923191025)]
保举学习资料
脑图
[外链图片转存中…(img-Db1e38Su-1711923191025)]
[外链图片转存中…(img-81ch6M08-1711923191026)]
[外链图片转存中…(img-Nk7SBGJU-1711923191026)]
本文已被CODING开源项目:《Android学习笔记总结+移动架构视频+大厂口试真题+项目实战源码》收录
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
我爱普洱茶
金牌会员
这个人很懒什么都没写!
楼主热帖
Java 中怎样将 bytes 转换为 long 类型 ...
time.sleep(6)!华为AI生成图片发布会 ...
总算给女盆友讲明白了,如何使用stream ...
Python教程:高级特性
事务
如何优雅的备份MySQL数据?看这篇文章 ...
java 获取网页写入本地文件来解决让一 ...
Welcome to YARP - 8.分布式跟踪
【深入浅出系列】之代码可读性 ...
QT入门学习记录01
标签云
挺好的
服务器
快速回复
返回顶部
返回列表