1.2 Android的系统框架

斐讯N1免拆神器刷机指南:晶晨S905D芯片安卓7.1.2_rush_mod固件实战 本文提供了一份详细的斐讯N1盒子免拆机刷机指南,重点介绍了使用晶晨免拆短接神器刷入安卓7.1.2_rush_mod固件的完整流程。该固件专为晶晨S905D芯片优化,系统纯净流畅,并集成了谷歌框架,可让老旧设备焕发新生,轻松变身高性能电视盒子或游戏模拟器平台 阅读详情

联系方式:

简书:WillFlow
CSDN:WillFlow
微信公众号:WillFlow

Android框架概述:

Android的架构是分层的,非常清晰,分工很明确。Android本身是一套软件堆叠(Software Stack),或称为”软件叠层架构”,叠层主要分成三层:操作系统、中间件、应用程序
Android 软件栈

1、Applications(应用程序)

Android平台不仅仅是操作系统,也包含了许多应用程序,诸如SMS短信客户端程序、电话拨号程序、图片浏览器、Web浏览器等应用程序等等。

这些平台随附的应用与用户可以选择安装的应用一样,没有特殊状态,因此第三方应用可成为用户的默认网络浏览器、短信 Messenger 甚至默认键盘(有一些例外,例如系统的“设置”应用)。

但是毫无疑问的是:所有应用程序都是用Java语言编写的,并且这些应用程序都是可以被开发人员开发的其他应用程序所替换的,这点不同于传统手机操作系统固化在系统内部的系统软件,Android应用程序更加灵活和个性化。

2、Java APIFramework(应用程序框架)

应用程序框架层是我们从事Android开发的基础,很多核心应用程序是通过这一层来实现其核心功能的,开发人员也可以完全访问核心应用程序所使用的API框架。

该层简化了组件的重用,任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性),这使得开发人员可以直接使用其提供的组件来进行快速的应用程序开发,也可以通过继承而实现个性化的拓展。

下面对各个模块进行解释:
- 内容提供器(Content Providers):使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据。
- 视图管理系统(View System):可以用来构建应用程序的基本组件,包括列表Lists、文本框Text boxes、按钮Buttons等等。
- 活动管理器(Activity Manager):用来管理应用程序生命周期并提供常用的导航回退功能。
- 位置管理器(Location Manager):提供位置服务。
- 包管理器(Package Manager) :用来管理 Android系统内的程序。
- 通知管理器(Notification Manager):使得应用程序可以在状态栏中显示自定义的提示信息。
- 资源管理器(Resource Manager):提供非代码资源的访问,如本地字符串、图形和布局文件。
- 电话管理器(Telephony Manager):提供电话相关功能服务。
- 窗口管理器(Window Manager):用来管理所有的窗口程序。
- XMPP服务(XMPP Service):提供Google Talk服务。

这些服务的解释在初学者看来可能会非常晦涩难懂,而且也不知道我在说些什么当然也记不住我所说的,这再正常不过了,现在有个印象就好,等我们开发用到相关功能时就会豁然开朗啦~

3、Libraries(系统运行库)

与PC一样,每个Android应用程序都有自己的进程,每个Android应用程序都运行在Dalvik虚拟机之上,Dalvik虚拟机只执行.dex的可执行文件。

当Android应用程序通过编译,最后还需要通过SDK中的dx工具转化成.dex格式才能正常在虚拟机上执行。所以说当我们使用上面的Android应用框架时,Android系统会通过一些C/C++库来支持我们使用的各个组件,使其能更好地为我们服务。

当然了,这里面还分为两个部分:
- 系统库
系统库是应用程序框架的支撑,是连接应用程序框架层与Linux内核层的重要纽带。
- WebKit:一套网页浏览器的软件引擎。
- OpenMAX AL:一套嵌入式的多媒体应用标准
- Libc:从BSD继承来的标准C系统函数库,专门为基于embedded linux的设备定制。
- Media Framework: 多媒体库,基于PacketVideo OpenCore;支持多种常用的音频、视频格式录制和回放,编码格式包括MPEG4、MP3、H.264、AAC、ARM。
- OpenGL|ES:根据OpenGL ES 1.0API标准实现的3D绘图函数库。
- Surface Manager:执行多个应用程序时候,负责管理显示与存取操作间的互动,另外也负责2D绘图与3D绘图进行显示合成。
- SQLite:小型的关系型数据库引擎。(我们以后会经常和它打交道,无论哪种类型APP的开发。)
- FreeType:提供点阵字与向量字的描绘与显示。
- SGL:底层的2D图形渲染引擎。
- SSL:在Andorid上通信过程中实现握手。
- Android运行时
Android应用程序时采用Java语言编写,程序在Android运行时中执行,其运行时分为核心库和ART虚拟机两部分。
- ART虚拟机:正如上文所说,每个Android应用程序都有一个专有的进程,并且不是多个程序运行在一个虚拟机中,而是每个Android程序都有一个ART虚拟机的实例,并在该实例中执行。
相比于以前采用的Dalvik虚拟机(一种基于寄存器的Java虚拟机,而不是传统的基于栈的虚拟机,并进行了内存资源使用的优化,这使得它在运行速度上占有很大优势),ART是安装的时候就将应用程序编译好了,所以在执行的时候直接就可以运行的,这就使得应用的安装虽然慢一些,但开启和运行应用的速度要快很多。
- 核心库:核心库提供了Java语言API中的大多数功能,同时也包含了Android的一些核心API,如:android.os、android.net、android.media等等。

4、HAL(硬件抽象层)

硬件抽象层提供标准界面,向更高级别的 Java API 框架显示设备硬件功能。

HAL 包含多个库模块,其中每个模块都为特定类型的硬件组件实现一个界面,例如相机或蓝牙模块。当框架 API 要求访问设备硬件时,Android 系统将为该硬件组件加载库模块。

5、Linux Kernel(Linux内核)

Android是基于Linux内核提供核心系统服务的,例如:安全、内存管理、进程管理、网络堆栈、驱动模型等。

Linux Kernel也作为硬件和软件之间的抽象层,它隐藏具体硬件细节而为上层提供统一的服务。

如果你学过计算机网络的话就会知道分层的好处:使用下层提供的服务而为上层提供统一的服务,屏蔽本层及以下层的差异,当本层及以下层发生了变化不会影响到上层。

也就是说各层各司其职,各层提供固定的功能服务,专业点可以说是高内聚、低耦合。

当然了,如果只是做应用开发,就不需要深入了解Linux Kernel层。

微信公众号:WillFlow

5分钟搞定安卓抓包:Xposed+JustTrustMe绕过SSL证书绑定 在移动应用安全测试和网络协议分析中,HTTPS流量抓包是基础技能。HTTPS通过SSL/TLS协议对通信进行加密,保障了数据传输的机密性和完整性。其核心原理是基于数字证书的信任链验证,确保客户端与预期服务器通信。然而,SSL Pinning(证书绑定)技术增强了安全性,它使应用只信任预置的特定证书,导致常规代理工具的中间人攻击失效。为解决这一工程难题,Xposed框架提供系统级的运行时Hook能力,而JustTrustMe模块则针对性Hook了TrustManager等证书验证API,使其无条件信任所有证 阅读详情

相关推荐

用 CDS 作为 Referenced Data Source 开发 SAP Gateway OData 服务,一条更轻的 SEGW 路线

本文介绍了SAP Gateway项目中从传统手工建模到基于CDS View的现代化开发方式转变。主要内容包括: 传统方式需要在SEGW中手动创建Entity Type、Entity Set等元素,并在DPC_EXT中编写大量查询逻辑,存在模型层和业务逻辑重复表达的问题。 7.50版本后,SAP Gateway与ABAP CDS深度集成,可通过SEGW直接引用CDS View作为数据源,自动生成数据模型和SADL读取逻辑,支持完整的OData查询功能。 最佳实践建议通过Consumption View而非直接

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 628

安卓系统框架和Framework概述

安卓系统框架和Framework概述

似霰的博客 1万+

Vue3 - 详细实现微信公众号H5网页内置浏览器中预览下载word文档(doc)、excel表格(xls)、ppt文稿、pdf文档等文件,微信内部直接打开预览和下载到本地教程,安卓苹果手机无差异兼容

vue3,nuxt3,微信公众号,h5,移动端,网页,网站,vue微信内置浏览器下载文件,下载文件,在微信浏览器里面实现下载任意文件,H5需要在微信浏览器中下载excel文件,实现网页在微信内置浏览器中下载文件详细教程,安卓点击下载会提示打开浏览器,后端返回流文件,如何解决无法下载文件,跳转至浏览器下载文件,发送到电脑微信,安卓,苹果,手机系统,微信H5页面,vue3微信公众号H5网站,内置浏览器下载文档,如何在微信浏览器中预览office文件,word文档,excel文档,pdf文档,ppt文档,offi

🏆 前端领域优质创作者 1万+

Framework | Android系统架构

在学习Android系统之前,我们必须要大体上对Android系统架构有个明确的认识,理解其中每一块的职责。

m0_59162559的博客 1280

Android系统架构

Android系统架构 Android系统架构分为五层,从下到上依次是应用层、应用框架层、系统运行库层、硬件抽象层和Linux内核层。 应用层(System Apps) 系统内置的应用程序以及非系统级别的应用程序都属于应用层,负责与用户进行直接交互,通常都是用Java进行开发的。 应用框架层(Java API Framework) **应用框架层是为开发人员提供了开发应用程序所需要的API,**我们平时开发应用程序都是调用着一层所提供API,当然也包括系统应用。这一层是由Java代码编写的,可以称为Ja

xingyu19911016的博客 1万+

Android框架介绍

Android Inc.2003年10月由安迪·鲁宾、利奇·米纳尔、尼克·席尔斯、克里斯·怀特在加州帕罗奥图创建。Android最初由安迪·鲁宾等人开发制作,最初开发这个系统的早期方向是创建一个数字相机的先进操作系统,但是后来发现相机市场规模不够大,加上智能手机发展趋势快速成长,于是Android成为一款面向智能手机的操作系统。于2005年7月11Android Inc.被美国科技企业Google收购。

探索未知,成就非凡 5180

1.2 android系统框架的介绍

Android 系统框架介绍 Android 系统框架介绍 【】---目录名 斜体+下划线—后缀名 【src】:主要是完成java代码的编写 【assets】:资源目录,通常放一些html的文件 【res】:存在图片,布局文件和字符串、菜单等文件   【bin】:输出文件夹,如生成的APK文件 .project,.properties工程属性文件配置(配置工程常用的一

u010741201的专栏 333

Android 框架研究:(一)框架概要 —— 1.2 Android系统架构

Android采用“分层”的架构设计,分为4个层:应用层、应用框架层、库与运行环境以及内核层。 Android操作系统的主要组件。 1. 应用层(Applications) Android将配备一系列核心应用程序,包括电子邮件客户端,短信程序,日历,地图,浏览器,通讯录等。所有的应用程序都是使用Java编程语言2. 应用框架层(Application Framework) 通...

mmdev 225

斐讯盒子T1_S912B_安卓7.1.2_Mod _谷歌框架_夏杰_升级webview-线刷固件包

【摘要】斐讯T1盒子线刷固件包发布,基于Rush大神固件优化,主要特性:1)升级WebView至119.0.6045.134版本;2)集成最新夏杰语音V4.6.0.2;3)保留谷歌框架并精简预装应用;4)修复开机卡顿问题;5)支持手机遥控和横屏显示。刷机需注意:高版本系统需先降级,首次启动需配对蓝牙遥控。提供百度网盘/蓝奏云多下载渠道。免责声明强调仅供技术交流,商业使用需自行承担法律风险。(150字)

点我主页,可查看所有固件文章! 1241

【亲测免费】 Android 7.1.2 x86 系统 Xposed 安装资源

Android 7.1.2 x86 系统 Xposed 安装资源 【下载地址】Android7.1.2x86系统Xposed安装资源 1. **亲测可用**:本资源文件已在雷电和逍遥模拟器的 Android 7.1.2 系统上进行了测试,确保其可用性。2. **支持 x86 版本模拟器**:适用于 x86 架构的模拟器,...

gitblog_09795的博客 629

android源码框架

http://blog.csdn.net/xuxinyl/article/details/6561033 Android 2.1 源码结构分析        002 lee        003 Android 2.1        004 |-- Makefile        005 |-- bionic               (bionic C库)

Skypine_Lee的专栏 1338

Android7.1.2,XPosed框架包下载仓库

Android7.1.2,XPosed框架包下载仓库 【下载地址】Android7.1.2XPosed框架包下载仓库 探索Android7.1.2系统的无限可能,我们的Xposed框架包为您解锁前所未有的自定义体验。无需修改APK,即可轻松改变系统应用行为,让您的设备更加贴合个人需求。无论是优化性能还是增加功能,这个强...

gitblog_06711的博客 635

android7.1.2 xposed,安卓7.1 xposed框架

安卓7.1 xposed框架,国外大神在GitHub中放出了可用于安卓7.1.2的xposed框架源码,从使用脸谱的LOGO来看,这位开发者是很有中国情结的,希望大家能多多支持!安卓7.1 xposed框架简介安卓7.1 xposed框架源码GitHub地址:https://github.com/abforce/xposed_art_n7.0的Xposed迟迟未能更新,这也是小编一直忍住没有升级7...

weixin_42351189的博客 3553

Android系统架构简介

Android系统架构价绍

byte轻骑兵的技术小窝 1万+

Android系统框架组成

记录了Android系统框架组成和基本概念

qq_43160049的博客 1726

安卓进阶之android系统架构

安卓进阶知识之android系统架构学习的笔记,结合了《进阶之光》、一些博客、官方文档和个人的理解

Suzy_MM的博客 3291

android软件架构

系统应用Android系统还包括了一些系统应用,这些应用程序是Android系统的一部分,用于提供系统级的功能和服务,如电话、短信、联系人、日历、设置等。提供统一的接口:硬件抽象层为每个硬件设备定义了一组标准的API接口,这使得上层的应用程序和系统组件可以使用统一的方式来访问和控制各种硬件设备。总之,硬件抽象层在Android系统中起到了桥梁的作用,它提供了一种统一的方式来访问和控制各种硬件设备,使得Android系统能够在不同的硬件平台上运行,并且为上层的应用程序和系统组件提供了简单和统一的硬件接口。

zhanlan5211的博客 3528

Android系统架构与系统源码目录,思维导图+源代码+笔记+项目

1.1系统内置的应用程序以及非系统级的应用程序都是属于应用层。负责与用户进行直接交互,通常都是用Java进行开发的。1.2应用框架层为开发人员提供了可以开发应用程序所需要的API,我们平常开发应用程序都是调用的这一层所提供API,当然也包括系统应用。这一层的是由Java代码编写的,可以称为Java Framework。下面来看这一层所提供的主要的组件。1.3、系统运行库层分为两部分,分别是C/C++程序库和Android运行时库。下面分别来介绍它们。1.4.1

2301_82241647的博客 1275

八度和MATLAB工具箱的GDSII流格式.zip

matlab

上一篇: 1.1 Android历史与版本进化
下一篇: 1.3 Android工程师的角色方向与定位
WillFlow
博客等级 码龄10年 61粉丝 81原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值