在修改Android5.0源码中的settings时,想删除settings中的不想关语言,只留下中文和英文两种语言,语言设置功能页面是在LocalePicker.java文件中,该类继承了framework/base/core/java/com/android/internal/app/LocalePicker.java,可是发现在settings源码中并没用语言列表数组,后来发现了 配置文件:build/target/product/languages_full.mk|languages_small.mk|locales_full.mk

这是locales_full.mk文件

PRODUCT_LOCALES := en_US cs_CZ da_DK de_AT de_CH de_DE de_LI el_GR en_AU en_CA en_GB en_NZ en_SG eo_EU es_ES fr_CA fr_CH fr_BE fr_FR it_CH it_IT ja_JP ko_KR nb_NO nl_BE nl_NL pl_PL pt_PT ru_RU sv_SE tr_TR zh_CN zh_HK zh_TW am_ET hi_IN$(call inherit-product, build/target/product/languages_full.mk)

这是languages_full.mk

#PRODUCT_LOCALES := en_AU en_US en_IN fr_FR it_IT es_ES et_EE de_DE nl_NL cs_CZ pl_PL ja_JP zh_TW zh_CN zh_HK ru_RU ko_KR nb_NO es_US da_DK el_GR tr_TR pt_PT pt_BR rm_CH sv_SE bg_BG ca_ES en_GB fi_FI hi_IN hr_HR hu_HU in_ID iw_IL lt_LT lv_LV ro_RO sk_SK sl_SI sr_RS uk_UA vi_VN tl_PH ar_EG fa_IR th_TH sw_TZ ms_MY af_ZA zu_ZA am_ET hi_IN en_XA ar_XB fr_CA km_KH lo_LA ne_NP si_LK mn_MN hy_AM az_AZ ka_GE my_MM mr_IN ml_IN is_IS mk_MK ky_KG eu_ES gl_ES bn_BD ta_IN kn_IN te_IN uz_UZ ur_PK kk_KZ

这些文件很容易理解,我们只需要把不想关的语言注释掉,留下英文和中文。
直接修改locales_full.mk文件

#PRODUCT_LOCALES := en_US cs_CZ da_DK de_AT de_CH de_DE de_LI el_GR en_AU en_CA en_GB en_NZ en_SG eo_EU es_ES fr_CA fr_CH fr_BE fr_FR it_CH it_IT ja_JP ko_KR nb_NO nl_BE nl_NL pl_PL pt_PT ru_RU sv_SE tr_TR zh_CN zh_HK zh_TW am_ET hi_INPRODUCT_LOCALES := en_US zh_CN#$(call inherit-product, build/target/product/languages_full.mk)

编译后重新运行settings,发现语言设置里面只有两种语言了,而且生成的镜像文件小了几十兆

如果要添加相关语言的话也是在这些文件上修改详情请参考
http://www.eoeandroid.com/thread-46129-1-1.html?_dsign=53c0cdb0

以上只是个人观点,如有错误请指出,谢谢!

Android 5.0 设置语言的增加和删除相关推荐

  1. Android 7.0设置MODE_WORLD_READABLE出现异常解决方法

    Android 7.0给SharedPreferences设置Context.MODE_WORLD_READABLE或Context.MODE_WORLD_WRITEABLE,会触发SecurityE ...

  2. Android兼容性优化-Android 8.0设置Activity透明主题崩溃

    原文连接:https://mp.weixin.qq.com/s/g6RzzJIOpyBLiCq-YHBBMg 崩溃日志: 1 java.lang.RuntimeException:Unable to ...

  3. android改变系统语言,Android 9.0设置系统语言

    1.系统权限 android:sharedUserId="android.uid.system" 2.签名 通过手动签名的方式,用系统的签名文件为程序签名解决签名的问题,将程序加入 ...

  4. Android 9.0设置系统语言

    1.系统权限 android:sharedUserId="android.uid.system" 2.签名 通过手动签名的方式,用系统的签名文件为程序签名解决签名的问题,将程序加入 ...

  5. android多语言插件,Android 7.0多语言适配,填坑日记(附多语言插件)

    背景 最近项目在适配7.0系统的时候发现一些问题,其中也有多语言适配的问题,就拿出来说说,记记笔记,填填坑. 问题1 因为刚接手项目不久,发现一些奇奇怪怪的bug总是让人头疼,最近发现了在华为荣耀7. ...

  6. android 11.0 设置wifi列表黑名单(ssid不显示wifi列表)

    1.概述 在11.0的定制化开发中,可以要求设置某些wifi不出现在wifi列表中,然后实现不让连接此wifi的功能,就是设置wifi黑名单的功能,屏蔽这个wifi的连接功能,实现这个功能就需要了解w ...

  7. android 12.0 设置wifi列表黑名单(ssid不显示wifi列表)

    1.前言 在12.0的rom定制化开发中,在系统的产品开发中,对于wifi产品功能需求,可以要求设置某些wifi不出现在wifi列表中,然后实现不让连接此wifi的功能,就是设置 wifi黑名单的功能 ...

  8. android 打开免打扰模式,Android 6.0设置模块免打扰功能浅析

    免打扰功能的入口在NotificationSettings中, 点击列表项跳转到ZenModeSettings.java android:title="@string/zen_mode_se ...

  9. Android 9.0 设置讯飞语音引擎为默认tts语音播报引擎

    1.前言 在9.0的系统rom定制化开发中,在产品开发中,一些内置的app需要用到tts语音播报功能,所以需要用到讯飞语音引擎作为默认的系统tts语音引擎功能,所以就需要 了解系统关于tts语音引擎默 ...

最新文章

  1. s3c2440arm裸机编程之ADC触摸屏
  2. boost::multiprecision模块Eigen相关的测试程序
  3. 总结JavaScript(Iframe、window.open、window.showModalDialog)父窗口与子窗口之间的操作
  4. Linux中fdisk硬盘分区方法
  5. Linux Linux程序练习七
  6. 2020腾讯全球数字生态大会:产业互联网战略升级,数字优先引领未来经济发展
  7. 网易云基于 Kubernetes 的深度定制化实践
  8. EasyUI DataGrid 实用例子(2015-05-22)
  9. php 数独求解,高效算法求解数独(示例代码)
  10. python弧度制转角度制_弧度制与角度制转换
  11. windows黑客编程系列(六):进程遍历之查询系统是否运行杀软
  12. 时隔4年,翟天临怒怼网友:论文写不过是你能力不行...
  13. kafka数据清理配置——删除篇
  14. AWS之Glue使用方法
  15. 磁盘阵列怎么组linux系统,Linux系统下如何设置磁盘阵列?
  16. 业务连续性方案概述【9】
  17. 基于Linux平台的TCP通信并发服务器---在线英语词典项目
  18. Linux驱动开发: Linux下RTC实时时钟驱动
  19. 世界四大名刊Cell,Nature,Science,PNAS
  20. 链表、结构体和数组对比

热门文章

  1. 用计算机管理人员档案属于数据处理,高校档案信息化建设的若干思考
  2. C语言题:简单计算器程序
  3. oracle dg 数据不一致,DG常用运维命令及常见问题解决
  4. 数字系统重要指标-吞吐率和时延
  5. 北大曹健老师的TensorFlow笔记中,在pycharm中安装sklearn、pandas失败,Could not find conda environment: tensorflow
  6. sonix c语言 pdf,sonix c语言编程教程1.ppt
  7. 视频加入马赛克_会声会影篇
  8. Squid透明代理内网用户上网
  9. 妄想山海怎么不显示服务器,妄想山海预约福利怎么领 开服常见问题汇总
  10. 微信小程序-获取用户位置(经纬度+所在城市)