在9.0的系统rom定制化开发中,在进行ota升级的过程中,由于在SettingsProvider中新增了系统属性和修改某项系统属性值,但是在ota升级以后发现没有
更新,需要恢复出厂设置以后才会更改,但是恢复出厂设置 会丢掉一些数据,这是应为系统数据库没更新,所以需要在ota的时候同样升级系统数据库,
接下来看下如何实现相关的功能
\frameworks\base\services\java\com\android\server\SystemServer.java
\frameworks\base\services\core\java\com\android\server\am\ActivityManagerService.java
\frameworks\base\packages\SettingsProvider\src\com\android\providers\settings\SettingsProvider.java
\frameworks\base\packages\SettingsProvider\res\values\defaults.xml
在系统中,SettingsProvider是系统设置的内容提供者。它将设置类型分为三种
Global,全局,对系统中所有用户公开,第三方App没有写权限
Secure,安全相关的用户偏好设置,第三方App没有写权限
System,用户偏好系统设置
SettingsProvider 顾名思义是一个提供设置数据共享的 P