下面以secure_test和system_test为例:
1.注意添加属性的的对应位置
core/java/android/provider/Settings.java
/**
* SECURE TEST
* 1 disable
* 0 enable
* @hide
*/
public static final String SECURE_TEST = "secure_test";
/**
* SYSTEM TEST
* 1 disable
* 0 enable
* @hide
*/
public static final String SYSTEM_TEST = "system_test";
2.添加默认值
packages/SettingsProvider/res/values/defaults.xml
<!-- Default for Settings.Secure.SECURE_TEST -->
<bool name="def_secure_test">false</bool>
<!-- Default for Settings.System.SYSTEM_TEST -->
<bool name="def_system_test">false</bool>
packages/SettingsProvider/src/android/provider/settings/backup/SecureSettings.java
Settings.Secure.SECURE_TEST
packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java
VALIDATORS.put(Secure.SECURE_TEST,BOOLEAN_VALIDATOR);
packages/SettingsProvider/src/android/provider/settings/backup/SystemSettings.java
Settings.System.SYSTEM_TEST
packages/SettingsProvider/src/android/provider/settings/validators/SystemSettingsValidators.java
VALIDATORS.put(System.SYSTEM_TEST, BOOLEAN_VALIDATOR);
packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
loadBooleanSetting(stmt,Settings.Secure.SECURE_TEST,R.bool.def_secure_test);
loadBooleanSetting(stmt,Settings.System.SYSTEM_TEST,R.bool.def_system_test);
services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
SECURE_SETTINGS_DEVICEOWNER_ALLOWLIST.add(Settings.Secure.SECURE_TEST);
3.查看属性
adb shell settings list secure
adb shell settings list system
4.设置属性
adb shell settings put secure secure_test 1
adb shell settings put system system_test 1