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

Android13 通过OTA升级更新系统默认设置

系统进行OTA升级时更改默认设置的详细步骤

在进行系统的OTA(Over-The-Air)升级过程中,如果需要对系统默认设置进行更改,以确保升级后的系统能够应用新的默认配置,那么需要执行一系列关键步骤。以下是详细的操作指南:

修改设备Overlay资源

首先,需要定位到设备特定的Overlay资源文件。这些资源文件通常包含了针对特定设备或品牌定制的UI元素和默认设置。
根据需要,对这些Overlay资源进行相应的修改,以反映新的默认设置。

更新defaults.xml文件

接下来,需要进入frameworks/base/packages/SettingsProvider/res/values/目录。
找到defaults.xml文件,并使用文本编辑器打开。
在该文件中,找到需要更改的默认设置项,并更新其值以匹配新的默认配置。
保存并关闭文件。

更新SettingsProvider.java中的SETTINGS_VERSION

然后,需要进入frameworks/base/packages/SettingsProvider/目录。
找到并打开SettingsProvider.java文件。
在该文件中,定位到SETTINGS_VERSION的定义。这个常量用于标识当前系统默认设置的版本。
每当默认设置有重大更改时,都应该递增这个版本的数值。
更新SETTINGS_VERSION的值,以确保系统能够识别并应用新的默认设置。
保存并关闭文件。

示例

修改默认值(双击电源键打开相机功能默认关闭)

frameworks/base/packages/SettingsProvider/res/values/defaults.xml

diff --git a/frameworks/base/packages/SettingsProvider/res/values/defaults.xml b/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
index 5cb4c404e09..c1e220b614a 100755
--- a/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
+++ b/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
@@ -82,7 +82,9 @@<integer name="def_max_sound_trigger_detection_service_ops_per_day" translatable="false">1000</integer><integer name="def_sound_trigger_detection_service_op_timeout" translatable="false">15000</integer>+    <!-- Create by yeruilai 2024-10-11 10:19:02 Double click the power button to start the camera -->
+    <integer name="def_camera_double_tap">1</integer>
+</resources>

frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java

diff --git a/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java b/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
index 53eef230cac..a3c96455cfa 100755
--- a/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
+++ b/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
@@ -2448,8 +2448,13 @@ class DatabaseHelper extends SQLiteOpenHelper {/** IMPORTANT: Do not add any more upgrade steps here as the global,* secure, and system settings are no longer stored in a database
@@ -2457,6 +2462,9 @@ class DatabaseHelper extends SQLiteOpenHelper {** See: SettingsProvider.UpgradeController#onUpgradeLocked*/
+
+            // Create by yeruilai 2024-10-11 10:19:02 Double click the power button to start the camera
+            loadIntegerSetting(stmt,Settings.Secure.CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED, R.integer.def_camera_double_tap);} finally {if (stmt != null) stmt.close();}

frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java

diff --git a/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
index 4694f965905..b13e42287c8 100644
--- a/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
+++ b/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
@@ -3653,7 +3653,9 @@ public class SettingsProvider extends ContentProvider {}private final class UpgradeController {
-            private static final int SETTINGS_VERSION = 210;
+            // Create by yeruilai 2024-10-14 11:47:55 Update default value
+            // private static final int SETTINGS_VERSION = 210;
+            private static final int SETTINGS_VERSION = 211;private final int mUserId;@@ -5549,6 +5551,11 @@ public class SettingsProvider extends ContentProvider {// removed now that feature is enabled for everyonecurrentVersion = 210;}
+                // Create by yeruilai 2024-10-14 11:47:55 Update default value
+                if (currentVersion == 210) {
+                    // removed now that feature is enabled for everyone
+                    currentVersion = 211;
+                }// vXXX: Add new settings above this point. 

注意事项:

如果在OTA升级过程中忽略了更新SettingsProvider.java中的SETTINGS_VERSION,那么即使defaults.xml和设备Overlay资源已经被更新,升级后的系统也可能不会应用这些新的默认设置。
因此,为了确保升级后的系统能够正确应用新的默认配置,务必按照上述步骤操作,并特别注意SETTINGS_VERSION的更新


http://www.mrgr.cn/news/60056.html

相关文章:

  • 时间序列预测(九)——门控循环单元网络(GRU)
  • asp.net core会话session设置滑动过期时间
  • python笔记:@property
  • Android Kotlin 高阶函数详解及其在协程中的应用
  • 登录后端笔记(一):注册、登录(基于MD5加密);登录认证;拦截器
  • FPGA开发时,什么情况下使用BRAM,什么情况下使用DRAM
  • Renesas R7FA8D1BH (Cortex®-M85) QSPI的功能介绍
  • 【路径跟踪控制:Pure Pursuit控制与车辆运动学模型】
  • Java | Leetcode Java题解之第516题最长回文子序列
  • 如何在 CMD 窗口中校验文件的 MD5 值
  • 如何在 Ubuntu 16.04 上使用 Let‘s Encrypt 保护 Nginx
  • 深度学习(六)CNN:图像处理的强大工具(6/10)
  • 【STM32-HAL库】TEMT6000光照强度传感器(STM32F407ZGT6)(附带工程下载链接)
  • 动态规划算法专题(九):完全背包问题
  • C语言 | Leetcode C语言题解之第515题在每个树行中找最大值
  • C++ | Leetcode C++题解之第516题最长回文子序列
  • #### 运用语言影切进行旧脑抑制:
  • 【STM32-HAL库】火焰传感器(STM32F407ZGT6)(附带工程下载链接)
  • 你了解kafka消息队列么?
  • Java基础04
  • 【音视频 | ADPCM】音频编码ADPCM详细介绍及例子
  • PCL库中的算法封装详解
  • springmvc请求源码流程解析(二)
  • Java语言-异常
  • 查找与排序-插入排序
  • golang中的goroutine