方法一:
打开build/target/product/full_base.mk
将PRODUCT_LOCALES值修改即可; zh_CN 为中文、en_US 为英文
方法二:
修改对应locale属性亦可
方法三:
设置属性
PRODUCT_PROPERTY_OVERRIDES += \
ro.product.locale=zh-CN \
ro.product.locale.language=zh \
ro.product.locale.region=CN \
persist.sys.locale=zh-CN \
persist.sys.language=zh \
persist.sys.country=CN \
persist.sys.localevar=CN
代码解释:
// /frameworks/base/core/jni/AndroidRuntime.cpp
const std::string readLocale()
{
const std::string locale = GetProperty("persist.sys.locale", "");
if (!locale.empty()) {
return locale;
}
const std::string language = GetProperty("persist.sys.language", "");
if (!language.empty()) {
const std::string country = GetProperty("persist.sys.country", "");
const std::string variant = GetProperty("persist.sys.localevar", "");
std::string out = language;
if (!country.empty()) {
out = out + "-" + country;
}
if (!variant.empty()) {
out = out + "-" + variant;
}
return out;
}
const std::string productLocale = GetProperty("ro.product.locale", "");
if (!productLocale.empty()) {
return productLocale;
}
// If persist.sys.locale and ro.product.locale are missing,
// construct a locale value from the individual locale components.
const std::string productLanguage = GetProperty("ro.product.locale.language", "en");
const std::string productRegion = GetProperty("ro.product.locale.region", "US");
return productLanguage + "-" + productRegion;
}