当前位置: 首页 > wzjs >正文

网站设计手机wordpress 文章自定义排序

网站设计手机,wordpress 文章自定义排序,wordpress 加ico,网站建设及安全管理APK的安装过程可以概括为以下几个主要阶段: 解析 (Parsing):系统检查APK文件的完整性和合法性。验证 (Verification):校验APK的数字签名,确保应用未被篡改。提取 (Extraction):将APK中的内容解压到设备存储。优化 (Op…

1
2
3
4
5

APK的安装过程可以概括为以下几个主要阶段:

  1. 解析 (Parsing):系统检查APK文件的完整性和合法性。
  2. 验证 (Verification):校验APK的数字签名,确保应用未被篡改。
  3. 提取 (Extraction):将APK中的内容解压到设备存储。
  4. 优化 (Optimization):对DEX文件进行优化,生成ODEX或ART格式。
  5. 安装 (Installation):将应用注册到系统,创建数据目录,并关联权限。

6
7

通俗地讲,你可以把APK的安装过程想象成一个App从“搬家”到“安家落户”的全过程:

I. 准备阶段:

打包(APK文件): App的开发者把App的所有东西都打包成一个APK“行李箱”。
下载(获取APK): 用户把这个“行李箱”下载到手机。

II. 安装阶段:App“住”进手机

A. 检查(解析、验证): 手机检查这个“行李箱”是否安全、里面有什么东西、需要哪些“通行证”(权限)。
a

B. 搬家(提取、优化): 手机把“行李箱”里的东西都拿出来,放到一个专门的“新家”里,并且把一些东西“摆放”好,方便快速使用。
b-1
b-2

C. 登记(安装注册到系统): 手机把这个“新住户”的信息登记到“户口本”上,让所有人都知道手机里多了一个新成员。

III. 完成阶段:App“就绪”,可以运行了

之后就是 入住(显示图标、首次运行): 用户就可以看到这个App的“门牌号”(图标),并且可以打开它,正式开始使用了!


其中「准备阶段」自不必说,我们详细讲讲「安装阶段」!

详细步骤解析

1. 解析 (Parsing)

当你点击一个APK文件时,系统首先会启动一个PackageManagerService (PMS) 的组件来处理这个安装请求。

  • 入口点: 通常是PackageInstaller(用户界面)或PackageManagerinstallPackage()方法被调用。
  • 文件检查: PMS会首先对APK文件进行基本的合法性检查,例如:
    • 它是不是一个合法的ZIP文件?
    • 文件后缀是不是.apk
    • 文件头部信息是否正确?
  • Manifest文件解析: 这是解析阶段最重要的部分。PMS会读取APK内部的AndroidManifest.xml文件。这个文件是应用的“身份证”,它包含了应用的所有核心信息:
    • 包名 (Package Name): 唯一标识应用的字符串,例如com.tencent.mm(微信)。
    • 版本号 (Version Code / Version Name): 应用的版本信息。
    • 组件信息: 包含Activity、Service、BroadcastReceiver、ContentProvider等四大组件的声明。
    • 权限 (Permissions): 应用请求的各种权限,例如访问网络、读取联系人等。
    • 最低/目标SDK版本: 应用兼容的Android版本范围。
    • 签名信息: 用于后续的验证。
  • 冲突检测: PMS会检查新安装的APK的包名是否与设备上已安装的应用包名冲突。如果冲突且不是更新,安装将会失败。
2. 验证 (Verification)

解析完成后,进入安全至关重要的验证阶段。

  • 数字签名验证: 这是Android安全机制的核心。APK文件在打包时会使用开发者的私钥进行数字签名。PMS会做以下几件事:
    • 提取签名: 从APK中的META-INF目录下提取签名文件(例如CERT.RSACERT.SF)。
    • 校验完整性: 使用公钥验证APK中所有文件的哈希值,确保APK在传输或存储过程中没有被篡改。如果任何一个文件被修改,签名验证都会失败。
    • 签名一致性: 如果是应用更新,PMS会检查新APK的签名是否与已安装应用的签名一致。不一致则安装失败(除非是系统应用)。这防止了恶意应用冒充正版应用进行更新。
  • 病毒扫描 (可选): 如果设备安装了安全软件,并且系统启用了“验证应用”功能,那么在签名验证之后,可能会调用第三方安全软件对APK进行病毒扫描。
  • SELinux上下文分配: 在这个阶段,系统还会根据应用的包名和权限,为其分配一个SELinux (Security-Enhanced Linux) 上下文。SELinux是Android底层的强制访问控制机制,它决定了应用可以访问哪些文件、进程和系统资源。
3. 提取 (Extraction)

验证通过后,系统开始将APK文件中的内容解压并放置到设备存储中。

  • 目标目录: Android系统会为每个应用分配一个独立的存储空间,通常在/data/app/目录下,例如/data/app/com.szsl.myapp/。这个目录通常包含:
    • Base APK: 实际的APK文件本身。
    • Library目录: 包含应用的.so库(C/C++原生代码编译成的动态链接库),例如lib/arm64
    • ODEX/ART文件 (如果有): 优化后的DEX文件。
  • 权限设置: 系统会为这些解压出来的文件和目录设置严格的文件系统权限,确保只有应用本身和系统可以访问它们。
4. 优化 (Optimization)

这是一个非常重要的阶段,它关系到应用的启动速度和运行效率。

  • DEX文件: Android应用的代码是用Java编写的,编译后会生成.class文件,然后通过DX工具转换成.dex(Dalvik Executable)文件。一个APK可以包含多个DEX文件。
  • ART (Android Runtime) 优化:
    • Android 5.0 (Lollipop) 之前 (Dalvik虚拟机): 采用JIT (Just-In-Time) 编译。安装时会生成.odex(Optimized Dalvik Executable)文件。这个文件是DEX文件的优化版本,它包含了对DEX文件进行预校验和优化后的字节码,可以加速应用的加载。
    • Android 5.0 (Lollipop) 及之后 (ART虚拟机): ART采用AOT (Ahead-Of-Time) 编译。在安装时,系统会使用dex2oat工具将DEX文件编译成设备的本地机器码(ELF格式)。这些本地机器码文件通常存储在/data/app/包名/oat/目录下。
      • 好处: AOT编译使得应用在运行时无需进行JIT编译,从而大大提高了应用的启动速度和运行性能。这也是为什么首次安装应用后,系统会显示“正在优化应用”或“正在安装应用”的进度条,这个过程会消耗一定时间。
  • Profile-Guided Compilation (PGO): 从Android N (7.0) 开始,ART还引入了PGO。在应用首次运行后,ART会收集应用的运行数据,并在后台再次对DEX文件进行优化,生成更高效的本地机器码。这进一步提升了应用的性能。
5. 安装 (Installation)

这是整个过程的最后阶段,系统将应用注册到它的内部数据库,并为应用分配UID和GID。

  • 包信息注册: PMS会将应用的详细信息(包名、版本、权限、组件、签名等)注册到系统内部的packages.xml(旧版本)或数据库(新版本)中。这个数据库是系统管理所有已安装应用的核心。
  • 创建数据目录: 系统会为应用创建私有的数据目录,通常在/data/data/包名/下。这个目录是应用存储其私有数据(数据库、SharedPreferences、缓存文件、内部存储文件等)的地方,其他应用无法直接访问。
  • UID/GID分配: 每个安装的应用都会被分配一个独立的Linux用户ID (UID) 和组ID (GID)。这是Android沙箱机制的基础。每个应用都在自己的进程中运行,并且拥有独立的UID/GID,从而实现了进程隔离。
  • 权限关联: 系统将应用请求的权限与分配的UID/GID关联起来。当应用尝试执行某个需要权限的操作时,系统会检查其UID/GID是否拥有相应的权限。
  • 桌面快捷方式 (可选): 如果应用声明了android.intent.category.LAUNCHER的Activity,系统可能会通知桌面启动器(Launcher)为应用创建快捷方式。
  • 广播通知: 安装完成后,系统会发送ACTION_PACKAGE_ADDED等广播,通知其他对应用安装感兴趣的系统组件或第三方应用(例如,桌面启动器、应用商店等)。

8


文章转载自:

http://A4mCYkEG.fpqsd.cn
http://ku8LF4Vi.fpqsd.cn
http://QoKZwVvn.fpqsd.cn
http://MJHaTDgF.fpqsd.cn
http://nRFCxOyO.fpqsd.cn
http://9pKYbZON.fpqsd.cn
http://9wMmTvr8.fpqsd.cn
http://ZamuhJkO.fpqsd.cn
http://HBhTSBRO.fpqsd.cn
http://EvS3gdLz.fpqsd.cn
http://7m1QaqvX.fpqsd.cn
http://6uomwASn.fpqsd.cn
http://mxmVYosX.fpqsd.cn
http://pvfHT7c6.fpqsd.cn
http://BvsTY6ZS.fpqsd.cn
http://87pqUPro.fpqsd.cn
http://9cG6IZvt.fpqsd.cn
http://QbukuO9w.fpqsd.cn
http://bB2xD9zi.fpqsd.cn
http://924vPOzu.fpqsd.cn
http://IDkUs3FQ.fpqsd.cn
http://vOsBTSvN.fpqsd.cn
http://GL8FD8AG.fpqsd.cn
http://rcTMTxzz.fpqsd.cn
http://DOss3gWw.fpqsd.cn
http://QsCpb40S.fpqsd.cn
http://eSAlTIrL.fpqsd.cn
http://98U0TeZI.fpqsd.cn
http://FwL0qw1H.fpqsd.cn
http://cMq1EpI9.fpqsd.cn
http://www.dtcms.com/wzjs/745189.html

相关文章:

  • 海兴做网站微信后台网站开发知识体系
  • 阿里云空间部署网站吗指数平滑法
  • 没有网站做推广文字图片生成器
  • 开网站建设工作是如何丽水开发区建设局网站廉租房
  • jsp怎样做网站yandex俄语网站建设
  • android wap网站南宁网站建设哪里有
  • 网站建设订单模板首饰设计网站大全
  • 网站开发补充协议监控摄像头做斗鱼直播网站
  • 登录贵州省住房和城乡建设厅网站重庆事业单位招聘
  • 网站建设项目明细表如何建设好一个公司网站
  • 域名备案与网站备案的区别高端网站建设企业官网建设
  • 网站建设指导方案wordpress 3.8.1 中文
  • 安阳网站建设_wordpress 子站点函数
  • 建设证件查询官方网站wordpress 上传主题 ftp
  • 网站建设分金手指专业二怎么利用源码做网站
  • 阳谷聊城网站优化seo排名优化怎样
  • 常州好一点的网站建设工业设计公司经营范围
  • 屏幕分辨率 网站开发网站源码下载了属于侵权吗
  • 适合做公司网站的cms领导交给你一个网站你该怎么做
  • 免费产品推广网站设计网站公司收费
  • 指定网站怎么设置路由器只访问抖音小程序赚钱
  • 建设方面的知识 网站美间软装官网
  • 毕业设计做购物网站网站设计高度
  • 网站提高内容的丰富度创意怎么下载网站页面
  • 网站系统容量评估机械公司网站模板
  • 东莞做网站设计制作网站制造
  • 陕西省咸阳市建设银行网站微平台图片
  • 如何破解网站后台密码网络营销课程实训报告
  • 上海网站制作平台注册logo去哪里注册
  • 上海网站建设百度推广公司佛山互联网公司