最近在移植 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

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

哈哈,庆祝一下。

更多相关文章

  1. 在android studio的虚拟机的sd卡上创建文件夹
  2. Android 使用decodeFile方法加载手机磁盘中的图片文件
  3. Android AudioRecord录音实时pcm 编码为 aac 文件
  4. android保存文件
  5. Android情景模式、文件管理器 完整示例编程详解
  6. android ndk-build log输出文件
  7. 如何向android程序添加音效或者音频文件

随机推荐

  1. CentOS下搭建MySql(RPM包)
  2. 大数据成神之路-Java高级特性增强(多线程
  3. 大数据成神之路-Java高级特性增强(Volati
  4. DolphinDB客户端软件教程
  5. Think PHP框架清除运行时缓存(php文件目录
  6. 无法访问此卷不包含可识别的文件系统 chk
  7. FlinkSQL演进过程,解析原理及一些优化策略
  8. 粉丝福利 | 秒 get 支付宝同款扫码组件
  9. 0基础能否学会Python?如何学习?
  10. 一文读懂数据湖及企业中的架构特点