前言
Android系统的一些默认配置,需要根据客户的需求进行具体的配置。在这里记录Android9.0的一些默认配置方法。
方法论
在源码中寻找某个配置的默认值时,先确认这个配置是否存在默认值,且该配置是否有状态保存,一般来说,这些状态数据会保存在setting的数据库中。
判断方法
只要满足如下两个条件,则说明该配置存在默认值:
1.重启之后,配置状态值仍然保存;
2.恢复出厂设置后,配置状态值恢复回默认的配置;
比如,待机时间设置,屏保时间设置,这些就有默认值。
配置
大部分的开关状态都存储在了SettingProvider的数据中,与状态值相关的有三个文件:
1.默认值数据库处理
/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
2.配置默认值的文件
/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
3.供用户设置的接口
/frameworks/base/core/java/android/provider/Settings.java:
休眠时间设置
修改配置文件:frameworks\base\packages\SettingsProvider\res\values\defaults.xml
<integer name="def_sleep_timeout">-1</integer> //android的休眠时间,屏幕黑屏,-1表示永不休眠
睡眠时间设置
修改配置文件:frameworks\base\packages\SettingsProvider\res\values\defaults.xml
<integer name="def_screen_off_timeout">2147483647</integer> //android的睡眠时间,2147483647的时间为Long.MAX_VALUE;
修改不自动锁屏(默认启动不锁屏)
修改配置文件:frameworks\base\core\res\res\values\config.xml
<!-- Is the lock-screen disabled for new users by default -->
<bool name="config_disableLockscreenByDefault">true</bool>
注意,如果这里修改无效的话,可以通过设置属性的方法来处理:
在build.prop中增加如下属性:
ro.lockscreen.disable.default=true
修改音量的默认值
修改文件:build\tools\buildinfo.sh,增加:
echo "ro.config.media_vol_default=15" //多媒体默认音量
echo "ro.config.alarm_vol_default=7" //警告声默认音量
echo "ro.config.system_vol_default=15" //系统默认音量
修改默认语言
Android P 使用【ro.product.locale】属性来设置语言:
build/make/tools/buildinfo.sh
echo "ro.product.locale=$PRODUCT_DEFAULT_LOCALE"
而PRODUCT_DEFAULT_LOCALE这个环境变量则取决于PRODUCT_LOCALE:
build/make/tools/core/Makefile
PRODUCT_DEFAULT_LOCALE="$(call get-default-prodult-locale, $(PRODUCT_LOCALE))"
而PRODUCT_LOCALE则可以在各个项目中进行配置:
device/customer/x32a5/x32a5.mk
PRODUCT_LOCALE := zh_CN en_US
修改默认时区
时区则是由属性控制:
persist.sys.timezone=Asia/Shanghai
定制系统版本号
定制系统版本号,可以通过重新定义BUILD_DISPLAY_ID进行实现:
build/make/core/Makefile
BUILD_DISPLAY_ID := $(YOUR_REDEFINE_NUMBER)
YOUR_REDEFINE_NUMBER的值可以在具体的项目中进行配置:
device/customer/x32a5/x32a5.mk
YOUR_REDEFINE_NUMBER := XXX.XXX.XXX.V1.0
这不是最终,会持续更新!