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

Android 关机前指定操作

Android 关机前指定操作

在 Android 关机前执行指定程序,主要有应用层和系统层两种实现路径。应用层方案无需系统级权限,适合普通 App;系统层方案需要 Root 或修改系统固件,适合更底层的任务。

作者:炭烤毛蛋 ,点击博主了解更多。


文章目录

  • Android 关机前指定操作
  • 1. 关机前保存系统运行日志
    • 1.1 方案一:通过 `init.rc` 触发器与 Shell 脚本(推荐)
      • (a) 编写保存日志的 Shell 脚本
      • (b) 在 `init.rc` 中配置服务
      • (c) 配置 SELinux 策略(Android 13 核心)
    • 1.2 方案二:修改 Framework 层 `ShutdownThread.java`
    • 💡 避坑提示与注意事项
  • 2. 关机前执行停止内核某个驱动
    • 2.1 方案一:在内核驱动源码中实现 `shutdown` 接口(原生且最稳妥)
    • 2.2 方案二:通过 Android `init.rc` 监听关机属性(应用/脚本级控制)
      • (a) 编写 Shell 脚本
      • (b) 修改 `init.rc`
      • (c) 配置编译选项 (Android.bp / Android.mk)
      • (d) 配置 SELinux 策略(至关重要)
    • 2.3 方案三:修改 Android Framework 层(Java 级拦截)
  • 结语

1. 关机前保存系统运行日志

在 Android 13 中,由于系统的沙箱机制(Sandbox)和 SELinux 强制访问控制极其严格,在关机前拦截并保存日志需要考虑到系统服务退出的顺序。

最稳妥且常用的两种代码实现方式如下:方案一(推荐)利用init.rc监听系统关机属性并触发 Vendor 脚本;**方案二是通过修改 Framework 层的ShutdownThread**

1.1 方案一:通过init.rc触发器与 Shell 脚本(推荐)

当用户点击关机或系统触发重启时,Android 的init进程会监听到sys.powerctl属性的变化。此时系统还没有完全杀死底层守护进程,是抓取日志的黄金时间。

(a) 编写保存日志的 Shell 脚本

在你的 Vendor 目录(例如vendor/oem/hardware/)下创建save_logs.sh

#!/vendor/bin/sh# 创建日志存放目
http://www.cnnetsun.cn/news/4326220.html

相关文章:

  • DeepSeek Flash与GLM 5.2代码场景对比:接入、部署与评测指南
  • 四款小众高效生产力工具实测:ScreenToGif、Everything、OBS Studio、Ditto
  • 数字孪生发布态AI助手:从对话到场景联动的工程实践
  • 2026年买笔记本,8GB内存还够用吗?适用场景与选购决策指南
  • 途虎养车测试笔试真题解析:O2O业务与自动化考点全拆解
  • 量化对手盘与行为偏差:用Python回测破解“一买就跌”困局
  • 用MATLAB/Simulink搭建新能源汽车整车仿真模型与优化指南
  • AdminLTE 完整指南:基于 Bootstrap 5 的免费后台管理模板,10 分钟上手
  • GLM-OCR大PDF解析实战:timeout与pdf_dpi关键参数设置指南
  • TVA具身智能架构:技能链分解与子目标自主生成机制
  • POD商品图批量生成:AI图案提取、自动上样与裂变设计工作流
  • 【118】基于51单片机智能马桶【Proteus仿真+Keil程序+报告+原理图】
  • Soup doctor排错指南:GPU、依赖、环境3类常见报错一键诊断
  • 创新药 BD 出海:从「卖青苗」到「全球合伙研发」的机制重构与利益博弈
  • R³训练范式:让机器人先推理再行动,用强化学习校验每一步
  • CANN ops-math算子库360+算子完全目录:conversion、math、random三大类算子怎么选?
  • turbovec的mask过滤陷阱:为什么任何变更(即使长度不变)都会使mask失效
  • 本地AI部署完整指南:用LocalAI在普通电脑上快速跑起任意大模型,无需GPU
  • 三极管放大原理与偏置供电:工作点设置与共射电路分析
  • 思科软件类B卷笔试全解析:考点、答题策略与避坑指南
  • HyperMesh到Abaqus完整工作流:网格质量、单位制与高频错误排查
  • 实验室预约管理小程序前后端实战:Spring Boot+Vue3+uni-app完整开发
  • CCS环境下DSP FFT实验完整指南:从环境搭建到频谱分析
  • Hypermesh基础入门:3D网格质量检查与单位设置
  • 耳夹式耳机选购全攻略:参数解读、音质测试与多价位推荐
  • Bruno 中文 API 测试实战:本地集合、搜索技巧与避坑
  • AI助手接口模块化设计:双龙虾架构实现多Provider接入
  • 全注意力机制为什么贵?从计算复杂度与KV Cache拆解长文本推理瓶颈
  • Qlib 快速上手:一条命令跑通量化回测
  • pm-skills产品命名教程:如何做出与品牌价值和受众对齐的AI命名头脑风暴