Android9.0 系统默认配置清单

Android9.0 系统默认配置清单

前言
Android系统的一些默认配置,需要根据客户的需求进行具体的配置。在这里记录AndroidP的一些默认配置方法。

方法论
在源码中寻找某个配置的默认值时,先确认这个配置是否存在默认值,且该配置是否有状态保存,一般来说,这些状态数据会保存在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

修改音量的默认值

AudioSystem.java的DEFAULT_STREAM_VOLUME:

public static int[] DEFAULT_STREAM_VOLUME = new int[] {
4, // STREAM_VOICE_CALL
7, // STREAM_SYSTEM
5, // STREAM_RING
5, // STREAM_MUSIC
6, // STREAM_ALARM
5, // STREAM_NOTIFICATION
7, // STREAM_BLUETOOTH_SCO
7, // STREAM_SYSTEM_ENFORCED
5, // STREAM_DTMF
5, // STREAM_TTS
5, // STREAM_ACCESSIBILITY
};

程序其实没有调用此default。分析代码发现AudioService.java文件的AudioService构造函数中,对默认音量值进行了强行赋值。

int defaultMusicVolume = SystemProperties.getInt(“ro.config.media_vol_default”, -1);
if (defaultMusicVolume != -1 &&
defaultMusicVolume <= MAX_STREAM_VOLUME[AudioSystem.STREAM_MUSIC]) {
AudioSystem.DEFAULT_STREAM_VOLUME[AudioSystem.STREAM_MUSIC] = defaultMusicVolume;
} else {
if (isPlatformTelevision()) {
AudioSystem.DEFAULT_STREAM_VOLUME[AudioSystem.STREAM_MUSIC] =
MAX_STREAM_VOLUME[AudioSystem.STREAM_MUSIC] / 4;
} else {
AudioSystem.DEFAULT_STREAM_VOLUME[AudioSystem.STREAM_MUSIC] =
MAX_STREAM_VOLUME[AudioSystem.STREAM_MUSIC] / 3;
}
}

如果定义了ro.config.media_vol_default的属性值,则默认音量值会被设置为该属性值的大小。如果没有定义该属性值,则默认音量值会被强制设置为最大音量值的1/4(手机模式)或者1/3(其他模式)。

因此,想修改默认的media音量大小,有两种方法可以修改。一种方法是定义ro.config.media_vol_default的系统属性值,这种方法不用修改源文件,只需在配置文件中增加一句即可;另一种方法是,将AudioSystem.DEFAULT_STREAM_VOLUME[AudioSystem.STREAM_MUSIC] 强制地赋值为你想设置的音量大小。

修改文件: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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值