Android 10.0修改语言设置简体中文(中国)为简体中文(中国大陆)

Android Q中 Settings的语言设置选择列表中简体中文下,默认显示为中国、香港、台湾和新加坡:
在这里插入图片描述
如果想修改其显示为中国大陆,就必须修改ICU资源的配置。

ICU

ICU 是开源项目, 提供了最新的unicode标准,字符集转换, 以及超过300个国家的本地数据, 比如数字,时间和信息显示格式等,以及不同语言下的文本排序,日历相关的日期时间操作等。
详细内容可以访问: http://userguide.icu-project.org/
在Android 中, ICU 源码位于 external/icu/下。其内资源不会自动随着源码编译而编译,需要提前编译后,然后把icudt**l.dat,cp到external/icu/icu4c/source/stubdata下然后再编译刷机验证。

修改及其编译

如果在external/icu/icu4c/source/data/下修改/新增了文件,那么就需要重新build .dat文件。这个.dat的原始文件是在external/icu/icu4c/source/stubdata/下,名字为icudt.dat,其中是两个数字,表明icu版本数;是一个字符,表明该.dat文件的内部格式。例如Android Q上.dat文件原名为icudt63l.dat。
具体编译步骤:

  1. 修改external/icu/icu4c/source/data/下文件;
  2. 在终端中进入目录icu4c/source:
cd external/icu/icu4c/source/
  1. config 编译选项,Linux终端下输入:
./runConfigureICU Linux --with--data-packaging=archive
  1. 终端中输入:
make INCLUDE_UNI_CORE_DATA=1

然后就可以在external/icu/icu4c/source/data/out/tmp/下看到新生成的icudtxxx.dat文件。
note:必须添INCLUDE_UNI_CORE_DATA=1,这样相应的一些资源文件才能被加入.dat文件内,比如uprops.icu,否则可能导致开机时找不到相应资源司机。
跟着各编译选项相关的文件可参看external/icu/icu4c/source/data/Makefile.in。

简体中文(中国大陆)

1、主要修改external/icu/icu4c/source/data/region/zh.txt:
在这里插入图片描述
2、终端中依次输入:

$:cd external/icu/icu4c/source/
$:./runConfigureICU Linux --with--data-packaging=archive
$:make INCLUDE_UNI_CORE_DATA=1

3、编译完成后,进入到external/icu/icu4c/source/data/out/tmp/目录下:

$:cd external/icu/icu4c/source/data/out/tmp/

查看新生成的icudxxx.dat:
在这里插入图片描述
4、备份并将其替换external/icu/icu4c/source/stubdata/目录下原始的icudt63l.dat文件:
在这里插入图片描述
回到源码根目录进行全编代码,然后刷机验证:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Otaku_627/article/details/108461291