修改Android系统默认语言

方法一:

打开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;
}

你可能感兴趣的:(Android,android,java)