修改 Android(安卓)系统默认语言版本
最近在移植 idea6410 的 android 到我自己的板子上,修改默认语言版本时碰到了一些问题,
根据网上的资料有两种方式,
1、在PRODUCT_LOCALES字段里,将要选择的语言放在第一位,如: PRODUCT_LOCALES := en_US zh_CN 默认语言是英语;
2、在persist.sys.language 和persist.sys.country 里指定语言,如下: PRODUCT_PROPERTY_OVERRIDES := /
persist.sys.language=zh /
persist.sys.country=CN build.prop文件的处理是在system/core/init/property_service.c。
决定使用 1 实现,这样比较简单, 但是我在工程里面找了2~3天都没找着
PRODUCT_LOCALES
环境变量在什么地方,最后在
build/target/product/sdk.mk 里面找到了这个变量,然后修改里面的
PRODUCT_LOCALES 变量
PRODUCT_LOCALES := /
en_US /
zh_CN /
zh_TW
编译,并烧录文件, 发现系统语言版本还是没变化。再认真查看里面的文件,
发现
# Overrides
PRODUCT_BRAND := generic
PRODUCT_NAME := sdk
PRODUCT_DEVICE := generic
这里的 NAME 和编译的时候设置的 NAME 不一致,猜测估计是没有用到这里的
环境变量。
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=2.1-update1
TARGET_PRODUCT=ut6410
TARGET_BUILD_VARIANT=eng
TARGET_SIMULATOR=false
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=ECLAIR
============================================
现在继续查找
PRODUCT_LOCALES
还是没有找到,实在不行了,我查看
build/target/product/core.mk
发现
PRODUCT_BRAND :=
PRODUCT_NAME :=
PRODUCT_DEVICE :=
咋这几项都没写呢? 灵光一闪,是不是这个和 PRODUCT_NAME 没关系呢??
我试着把
PRODUCT_LOCALES := /
en_US /
zh_CN /
zh_TW
添加到这里,重新编译,烧录发现成功了~!
哈哈,庆祝一下。
更多相关文章
- Android安全警告:发现高度复杂的Android木马20110919
- Gradle系列(四) Gradle插件
- Android有用代码片段(二)
- Android文件路径
- Android(安卓)获取根视图
- android绑定远程服务以及android接口定义语言(aidl)
- Android移动view动画问题 关于view的位置移动了,但view里面绑定的
- Android(安卓)AIDL接口定义语言
- Android(安卓)通过handler和message在子线程里面去更新UI