您的位置:首页 > 移动开发 > Android开发

修改 Android 系统默认语言版本

2011-06-13 17:38 621 查看
最近在移植 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

添加到这里,重新编译,烧录发现成功了~!

哈哈,庆祝一下。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐