Android 开机启动模式源码分析

news2024/10/7 16:24:03

在机器关机情况下,长按Power键启动机器,如果这时机器低电,会提示低电,机器不会正常启动:
在这里插入图片描述

而代码如下:
在这里插入图片描述

如果不是低电,正常情况是可以启动的。
在关机情况下,插入USB,机器会自然启动,这个时候kernel已经启动了,但是Android系统还没有启动,不过已经进入了关机充电界面了,具体流程看下面代码流程:
在这里插入图片描述

看到process_kernel_cmdline函数了,就是解析cmdllie参数,这是一种kernel往系统传递参数的一种方式,继续往下走:
在这里插入图片描述

再看import_kernel_nv函数:
在这里插入图片描述

看到androidboot名字了吧,具体文件在proc/cmdline,这里的是正常启动,所以值是emmc:
在这里插入图片描述

解析出来后,马上调用函数property_set设置,供后面get使用。
再回到init.c的main函数:
在这里插入图片描述

这里是判断is_charger是否是usb插入启动模式,如果是就进入充电界面,而charger是在这里启动的:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

进入了event_loop函数,是个相对死循环函数:
在这里插入图片描述

再看看handle_input_state函数:
在这里插入图片描述

看到参数了么:KEY_POWER,对Power键的处理,再进去看看:
在这里插入图片描述

终于明白了,在充电的时候,如果长按Power键2秒钟,就会从新启动Android系统,他会记录好启动参数,要不然重启是又会来到充电界面,而是要去到解锁界面完成启动了;再看看android_reboot函数吧:
在这里插入图片描述

reboot具体参数就不分析了,有兴趣自己研究!
这里的充电界面资源和代码如下:
在这里插入图片描述
在这里插入图片描述

看到这里,至少在开机的时候,面对两个现象【开机低电提示和插USB开机充电】应该有很清楚的认识了吧!

觉得本文对您有用,麻烦点赞、关注、收藏,您的肯定是我创作的无限动力,谢谢!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1659391.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spark云计算平台Databricks使用,上传文件

Databricks,是属于 Spark 的商业化公司,由美国加州大学伯克利 AMP 实验室的 Spark 大数据处理系统多位创始人联合创立。Databricks 致力于提供基于 Spark 的云服务,可用于数据集成,数据管道等任务。 创建workspace:Spa…

AUS GLOBAL 再次荣登皇家贝蒂斯俱乐部官网

AUS GLOBAL 作为一家备受信赖的金融服务领导者,一直以来都在致力于为客户提供卓越的交易体验和专业的服务。再次登上皇家贝蒂斯俱乐部官网Banner,不仅是对我们过去合作的肯定,更是对未来合作的信心和期待。这标志着我们之间的合作更加稳固和成…

雷森托尔环保科技有限公司见证2024杭州数字供应链装备展潮流

参展企业介绍 青岛雷森托尔环保科技有限公司创建于2018年,位于山东青岛,现注册资本3000万。公司主营生产模压木托盘、化工木托盘、大型设备木包装、出口木托盘、酒柜木酒架等,公司拥有技术人员6人,均为包装设计专业毕业&#xff0…

计算机科学类SSCI期刊,高效录用,检索稳定!

今天老毕给大家分享一本偏向系统理论实践方向SSCI,JCR2 区,中科院大类社会学 4区,2022年的影响因子为1.9,五年影响因子为2.5。编辑有好,响应迅速。 📘 基本信息 📖 ISSN 2079-8954 &#x…

美国商务部公布数字孪生技术投资计划

文章目录 前言一、主要内容二、相关背景‍‍‍‍前言 5月6日,美国商务部公布了一项价值2.85亿美元的投资计划,这项名为《美国芯片制造研究竞标》(CHIPS Manufacturing USA Institute Competition)的投资计划旨在向符合条件的申请者进行征求招标,协调建立和运营美国芯片制…

springboot整合websocket,超简单入门

springBoot整合webSocket,超简单入门 webSocket简洁 WebSocket 是一种基于 TCP 协议的全双工通信协议,它允许客户端和服务器之间建立持久的、双向的通信连接。相比传统的 HTTP 请求 - 响应模式,WebSocket 提供了实时、低延迟的数据传输能力。…

【JavaEE】博客系统(前端页面设计)

文章目录 一、预期效果二、实现博客列表页 一、预期效果 二、实现博客列表页 实现导航栏 编辑 blog_list.html, 创建导航栏的 html 代码. 导航栏里面包含 logo, 标题, 以及一些按钮(跳转链接). 为了实现左右排列, 在 logo 和 按钮 之间加一个 spacer 作为占位器. <!-- 导航…

FPGA采集卡,可实现CVBS/HDMI/SDI三种信号转换

可实现CVBS/HDMI/SDI三种信号转换&#xff0c; 客户应用:电视台&#xff0c;舞台&#xff0c;会议室 主要性能: 1:标准CVBS信号输入,标准HDMI信号输入,标准SDI信号输入,输入信号自适应. 2:3G/HD/SDSDI信号输出可选 2:1080P/10801/720P/4801/5761常用分辩率可选 1080PSF/720P30/…

SSC369G 双4K高性价比AI IPC方案

一、方案描述 SSC369G 双4K高性价比AI IPC方案采用主芯片SSC369G&#xff0c;内核为CA55四核最高主频为1.5Ghz处理器。SOC内置集成一个64位的四核RISC处理器&#xff0c;先进的图像信号处理器&#xff08;ISP&#xff09;&#xff0c;高性能的H.265/H.264/MJPEG视频编解码器&a…

LeetCode-2960. 统计已测试设备【数组 模拟】

LeetCode-2960. 统计已测试设备【数组 模拟】 题目描述&#xff1a;解题思路一&#xff1a;模拟解题思路二&#xff1a; 一次遍历&#xff0c;简洁写法解题思路三&#xff1a;0 题目描述&#xff1a; 给你一个长度为 n 、下标从 0 开始的整数数组 batteryPercentages &#xf…

多模态大模型通过外接数据方案实现电力智能巡检(设计方案)

大模型相关目录 大模型&#xff0c;包括部署微调prompt/Agent应用开发、知识库增强、数据库增强、知识图谱增强、自然语言处理、多模态等大模型应用开发内容 从0起步&#xff0c;扬帆起航。 大模型应用向开发路径&#xff1a;AI代理工作流大模型应用开发实用开源项目汇总大模…

深度主动学习(Deep Active Learning)——基于pytorch和ALipy工具包实现双向GRU模型

前言 在ALipy的官网说ALipy只支持sklearn和tensorflow模型&#xff0c;模型对象应符合 scikit-learn api。 但是alipy提供了ToolBox的工具箱&#xff0c;里面包装了多种查询策略&#xff0c;计算指标等工具&#xff0c;几乎具有Alipy的全部功能&#xff0c;虽然不能使用ALipy提…

BLIP2预研笔记

0. 前言 文章是公司内部分享学习写的预研报告&#xff0c;里面有小部分文段是直接从网上借鉴的&#xff0c;侵删 1. 任务和方法历史进化&#xff1a; 在大模型等类似的预训练模型的方式&#xff08;以包含“预训练阶段”等n阶段训练方式为特色&#xff09;为主流之前&#xf…

太牛了!360大佬编写的《应急响应指导手册》火了!(PDF限时3天领取)

免责声明&#xff1a; 请使用者遵守《中华人民共和国网络安全法》&#xff0c;由于传播、利用本账号所提供的信息而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;公众号及作者不为此承担任何责任。 简介 这份《应急响应指导手册》&#xf…

【NPS】微软NPS配置802.1x,验证域账号,动态分配VLAN(NPS篇)

NPS简介 Network Policy Server&#xff08;NPS&#xff09;是微软Windows Server中的一个网络服务&#xff0c;它作为RADIUS服务器实现&#xff0c;用于集中管理网络接入请求。NPS处理对网络资源的认证、授权和审计请求&#xff0c;通常用于控制远程访问VPN和无线网络的接入。…

网络隔离状态下,如何可以安全高效地进行研发文件外发?

研发部门的数据传输通常需要保证数据的安全性、完整性和保密性&#xff0c;尤其是当涉及到公司的核心技术、产品设计、源代码等重要信息时。研发文件外发&#xff0c;即研发资料的外部传输&#xff0c;通常涉及到公司的核心技术和商业机密&#xff0c;因此需要采取严格的安全措…

【日常开发之FTP】Windows开启FTP、Java实现FTP文件上传下载

【日常开发之FTP】windows开启FTP、Java实现FTP文件上传下载 FTP前言FTP是什么&#xff1f;FTP两种模式 Windows开启FTPFTP windows 配置防火墙配置 Java部分Maven配置创建FTPClient 注意 FTP前言 FTP是什么&#xff1f; FTP是一个专门进行文件管理的操作服务&#xff0c;一般…

java后端15问!

前言 最近一位粉丝去面试一个中厂&#xff0c;Java后端。他说&#xff0c;好几道题答不上来&#xff0c;于是我帮忙整理了一波答案 G1收集器JVM内存划分对象进入老年代标志你在项目中用到的是哪种收集器&#xff0c;怎么调优的new对象的内存分布局部变量的内存分布Synchroniz…

【0day漏洞复现】中移铁通禹路由器信息泄露漏洞

0x01 阅读须知 “如棠安全的技术文章仅供参考&#xff0c;此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等&#xff08;包括但不限于&#xff09;进行检测或维护参考&#xff0c;未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供…

移动端自动化测试工具 Appium 之 main 启动

文章目录 一、背景二、生成xml文件2.1、创建xml方法2.2、执行主类MainTest2.3、自动生成的xml2.4、工程目录2.5、执行结果 三、命令行执行appium服务四、主方法启动类五、集成Jenkins六、总结 一、背景 Jenkins 做集成测试是不错的工具&#xff0c;那么UI自动化是否可以&#…