Android系统开发,app多次崩溃造成系统进入recovery

问题

即将上线的车载中控系统,突然收到客户投诉。说黑屏了,严重问题!

这个recovery模式其实上面描述很清楚,只是系统数据未能加载。提示用户手动选择。但是页面比较吓人,所以着实让人头疼!

排查

通过存储的log日志,可以看到重启系统触发了救援程序。

为什么会进入这个程序呢,查看google文档可以看到:

  1. system server在5分钟内重启5次以上,

  2. 永久性系统应用在 30 秒内崩溃 5次以上。

果然在日志中看到了升级程序由于日志问题,30s内重启了6次,触发了这个救援程序。

源代码中可以看到对应逻辑部分。

解决

官方也有说明,其实这个程序是调试模式,关闭userdebug模式、插入usb、prop配置开关,都可以关闭。

这个问题在开发中,都是连接着usb调试的,不会触发。经常会被忽略。

这里因为程序还没上线,通过编译prop配置关闭

复制代码
PRODUCT_SYSTEM_PROPERTIES +=  persist.sys.disable_rescue=1 

后续

其实还有很多问题会触发本现象,比如存储写满。这个显示主要目的是帮助用户清理错误数据或保留错误现场,让用户可以选择。

更好的方式是和手机厂商学习,重新定制开发本提示页面显示。让用户清晰知道遇到问题,选择后点击选择即可。

相关推荐
andr_gale11 天前
04_rc文件语法规则
android·framework·aosp
andr_gale12 天前
05_aosp12中init进程解析rc文件流程分析
android·aosp·framwork
longji24 天前
android 01 AOSP android16 aaos 编译及webview升级
android·aaos·aosp·android16
千里马学框架25 天前
Ubuntu 24 搭建aosp源码环境详细笔记
android·linux·ubuntu·framework·安卓·aosp·源码环境
习惯就好zz1 个月前
RK3588 Android 12 修改 NTP 服务器:从资源覆盖到时间同步验证
android·运维·服务器·aosp·ntp
贤泽2 个月前
Android View 触摸事件分发机制
android·aosp
贤泽3 个月前
Android15 ContentProvider 深度源码分析(上)
android·aosp
贤泽3 个月前
Android15 ContentProvider 深度源码分析(下)
android·aosp
贤泽3 个月前
android 15 AOSP Broadcast 广播机制源码分析
android·aosp