Android 语言列表设置

设置->语言和键盘->选择语言 的列表主要从framework/framework-res.apk读取.在AssetManager.cpp和reourceType.cpp里可以看到相关代码。

1)bool AssetManager::addDefaultAssets()

2)  bool AssetManager::addAssetPath(const String8& path, void** cookie)

添加

编译APK的时候,哪些内容要打到APK资源包里由 add-assets-to-package 里的aapt参数 $(addprefix -c , $(PRODUCT_AAPT_CONFIG))来控制;一般的设置位置是:

PRODUCT_LOCALES := \
ldpi \
hdpi \
mdpi \
en_US \
en_GB \
en_CA \

试过只编译 framework-res.apk,push到手机,重启后就可以看到语言列表有变化,但比framework-res.apk里指定的多了两种语言(未做进一步分析),全部工程重新编译后,设置里的语言列表和PRODUCT_LOCALES一致

原文地址:https://www.cnblogs.com/rollrock/p/2131074.html