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文件:

回到源码根目录进行全编代码,然后刷机验证:

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

  1. Android 10.0 修改Recovery字体图片的大小(正在清理)文字大小

    1.概述 在10.0系统产品开发中,进行Recovery 恢复出厂设置时 发现 真正清理的 字体小了 产品不满意 所以要求改大一点字体 于是 就只能去看Recovery部分的源码 这部分都是C 语言的 ...

  2. Android 10.0 修改搜狗为默认输入法,并且授予运行权限

    在系统开发中,修改系统默认输入法也是经常需要修改的功能,但是替换为搜狗输入法以后,点击输入框时,会弹出 授权权限对话框 感觉是特别麻烦的,所以在framework中要授予搜狗app运行时权限 第一步: ...

  3. Android 10.0修改RAM(运行内存)的值

    在进行定制化开发的过程中,由于有些客户要求,现有的设备RAM和ROM修改高点的配置 于是就来完成这一需求 首选来看Settings的关于设备中是怎么获取运行内存的 private static fin ...

  4. Android 10.0系统启动之init进程-[Android取经之路]

    摘要:init进程是linux系统中用户空间的第一个进程,进程号为1.当bootloader启动后,启动kernel,kernel启动完后,在用户空间启动init进程,再通过init进程,来读取ini ...

  5. Android 10.0 系统服务之ActivityMnagerService-AMS启动流程-[Android取经之路]

    摘要:上一节我们讲完了SystemServer的启动过程,这一节接着上一节的步骤,来讲解ActivityManagerService的启动过程. ActivityManagerService简称AMS ...

  6. Android 10.0 系统启动之SystemServer进程-[Android取经之路]

    摘要:上一节讲解了Zygote进程的整个启动流程.Zygote是所有应用的鼻祖.SystemServer和其他所有Dalivik虚拟机进程都是由Zygote fork而来.Zygote fork的第一 ...

  7. 还在期待安卓9.0吗?Android 10.0要来了

    目前,美国 Google公司的 AndroidP (安卓9.0),已经正式全面推出有几个多月了.众多手机品牌厂商也都在积极的进行更新适配 Android 9.0 系统(修改UI界面也算是二次开发,嗯) ...

  8. Android 10.0 11.0 12.0 启动模拟器教程

    <<返回总目录 Android 10.0 11.0 12.0 启动模拟器教程 一.android 12.0 模拟器 二.安装android 10.0 11.0 12.0 SDK平台 三.创 ...

  9. Android 10.0 PackageManagerService(一)工作原理及启动流程-[Android取经之路]

    摘要:PackageManagerService是Android系统核心服务之一,在Android中的非常重要,主要负责APK.jar包等的管理. 阅读本文大约需要花费50分钟. 文章的内容主要还是从 ...

  10. Android应用安装apk版本升级,适配Android 8.0和Android 10.0下载安装,shell命令安装APK

    shell命令安装 /*** 安装apk** @param path apk文件路径*/ public void installAPK(String path) {Log.i(TAG, "i ...

最新文章

  1. android 图片压缩方法分析
  2. FineUI小技巧(5)向子窗口传值,向父窗口传值
  3. 菜鸟驿站是什么快递_95后女生在横店开菜鸟驿站,每天帮大明星和小龙套收快递...
  4. iphone内存检测
  5. Python序列化的使用(有少量修改)
  6. 懒惰的JSF Primefaces数据表分页–第2部分
  7. Mac系统下如何使用命令行方式启动MySQL
  8. 宝塔linux_Linux虚拟机上快速搭建宝塔 部署PHP运行环境
  9. Java 程序连接 Informix 数据库方法实例介绍
  10. 【板绘必读】完全0基础如何学板绘?
  11. PHP UTF-8转GBK
  12. 递归解决字符串逆序输出
  13. 宽带波形测试软件,适用于5G时代的波形测试分析系统是怎样的?
  14. Nodejs学习记录: koa2
  15. 机器学习算法(8)之多元线性回归分析理论详解
  16. uniapp的uni.compressImage压缩图片的巨坑
  17. 运动会分数统计的实验报告(数组实现)
  18. 【数据架构系列-02】从《数据中台能力成熟度模型》的发布,聊聊火了的中台
  19. 读《桥—巴拉克•奥巴马的人生及其崛起》有感
  20. ROS-CmakeLists,package

热门文章

  1. Ubuntu16.04+ ROS kinetic 使用kinect2 ORK功能包 linemod算法实现可乐罐识别
  2. logisim软件简单入门使用
  3. 计算机考研数据结构用哪本书,计算机考研数据结构该用哪本参考书?
  4. 【软件工程导论】期末复习试题集
  5. Spring揭秘——什么是IOC和DI
  6. [数据仓库]基础理论笔记
  7. JAVA-Switch语句
  8. music 算法 c语言,频率估计方法——MUSIC和ROOT-MUSIC算法(附代码)
  9. 通达信波段王指标公式主图_通达信波段王+精准买卖提示主图指标公式
  10. C 语言中获取文件长度(ftell函数)