Android 13自定义/ROOT ROM下应用本地静默更新方案问询
在Android 13自定义/ROOT ROM环境下实现应用无交互自更新
目标
在Android 13的自定义/ROOT ROM环境中,实现应用将APK保存到本地后,无需用户交互即可完成自更新。
可行方案
采用Intent方案实现该需求。
需避开的失效旧方案
由于Android持续提升安全性、废弃旧API,许多过去的方案已不再适用,以下是需要规避的误区:
使用
exec()、su及pm install命令安装APK
该方案会触发异常:Caused by: java.io.IOException: error=13, Permission denied。即使将APK移至tmp目录,执行su时仍会报错;而pm install -r -d foobar.apk需要su权限才能运行,这是过去常用的APK安装方式,但当前更推荐上述Intent方案。为应用授予
android.permission.ACCESS_SUPERUSER及类似权限
该方案已完全过时,不符合Android当前的权限机制。编译时强制ROM进入宽容模式以规避SELinux限制
此方案原本旨在解决su权限问题,但无法确定SELinux是否为异常诱因。尝试通过编译时添加BOARD_KERNEL_CMDLINE += androidboot.selinux=permissive强制设备进入宽容模式无效,且日志未显示SELinux阻止su操作。
内容的提问来源于stack exchange,提问作者lessthanoptimal
相关产品推荐
相关产品推荐

