AOSP: 修改默认语言和时区

修改默认时区与语言的多版本解决方案
本文探讨了在不同环境下修改Android设备默认语言和时区的多种方法,包括源码目录修改、buildinfo.sh脚本添加、core.mk文件调整及产品目录配置等。并提供了针对模拟器和真实设备的实现步骤。

修改默认时区和时区,纠结ing.....


第一个版本:


在源码目录 build/target/board/generic,修改文件 system.prop,在文件最后添加:

ro.product.locale.language=zh
ro.product.locale.region=CN
persist.sys.timezone=Asia/Shanghai

修改之后:

#
# system.prop for generic sdk 
#

rild.libpath=/system/lib/libreference-ril.so
rild.libargs=-d /dev/ttyS0
ro.product.locale.language=zh
ro.product.locale.region=CN
persist.sys.defaulttimezone=Asia/Shanghai


在模拟器上面,make整个项目,导入模拟器(命令 emulator -system system.img -data userdata.img -ramdisk ramdisk.img),无效!


注意:

1. 在你的磁盘上创建了一个emulator,并配置环境变量。

2. system.img userdata.img ramdisk.img 是编译之后在out目录下面的文件。

3. cd 源码/out/××,然后执行 emulator -system system.img -data userdata.img -ramdisk ramdisk.img.


第二个版本:


在源码目录/build/tools,修改buildinfo.sh,添加:

echo"ro.product.locale.language=zh"
echo"ro.product.locale.region=CN"
echo"persist.sys.timezone=Asia/Shanghai"


在模拟器上面,make整个项目,导入模拟器(命令 emulator -system system.img -data userdata.img -ramdisk ramdisk.img),无效!


第三个版本:


进入 build/target/product 目录,修改文件 core.mk 的 PRODUCT_PROPERTY_OVERRIDES 值。


例如,欲修改为默认中文,则增加:
“/ persist.sys.language=zh / persist.sys.country=CN”


增加后的语句如:

PRODUCT_PROPERTY_OVERRIDES := / 
ro.config.notification_sound=OnTheHunt.ogg / 
ro.config.alarm_alert=Alarm_Classic.ogg / persist.sys.language=zh / persist.sys.country=CN 


如果只是修改默认语言,还有第四个版本:

修改 build/target/product/sim.mk,将 PRODUCT_LOCALES := en_US zh_CN 

改为 PRODUCT_LOCALES := zh_CN en_US


第三、四版本,在硬件设备上,可以实现。模拟器,没有测试!


推荐帖子:

http://topic.youkuaiyun.com/u/20111207/21/34fa9e98-c657-42de-99a9-f10241a36c28.html#replyachor


如果,你有更好的办法,请留言!






### 更改 AOSP 14 默认语言配置的方法 在 Android 开源项目 (AOSP) 中,更改默认语言设置涉及修改框架的核心文件以及构建过程中的资源定义。以下是实现这一目标的具体方法: #### 修改 `config.xml` 文件 Android默认语言由框架中的资源配置决定,默认情况下会读取设备的区域设置并加载相应的语言包。可以通过编辑位于以下路径的 `config.xml` 文件来指定默认语言: ``` /frameworks/base/core/res/res/values/config.xml ``` 在此文件中找到 `<string name="config_defaultLocale">` 条目,并将其值更改为所需的 BCP-47 语言标签[^1]。例如,如果希望将默认语言设置为法语,则可以将该条目的值更改为 `"fr"`。 #### 调整 `build.prop` 配置 除了通过 XML 文件调整外,还可以直接在设备启动时强制设定初始语言环境。这通常是在 `build.prop` 文件中完成的。具体操作如下: ``` /persist/build.prop 或 /vendor/build.prop ``` 添加或更新以下属性以覆盖默认行为: ```properties persist.sys.locale=fr-FR ro.product.locale=fr-FR ``` 上述示例表示将系统语言设为法国地区的法语版本。注意这里的格式应严格遵循 ISO 639 ISO 3166 标准组合而成的 BCP-47 形式[^2]。 #### 处理多语言支持注意事项 当定制特定的应用程序或者整个 ROM 包含多种语言时,需特别留意资源目录下的子文件夹命名规则是否正确无误。比如对于新增加的支持阿拉伯语界面的情况,在对应模块下应该创建名为 `values-ar` 的新文件夹并将翻译后的字符串存入其中。此外还需确认所有相关联的图片素材也已适配不同方向书写习惯的需求(LTR vs RTL)。 最后一步就是重新编译整个项目从而让改动生效: ```bash source build/envsetup.sh lunch aosp_arm-eng make -j$(nproc) ``` 以上步骤完成后即可获得一个预设好所需启动即显示特定母语界面的新版固件镜像。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值