600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > Android8.1 MTK平台 修改系统默认语言和默认输入法

Android8.1 MTK平台 修改系统默认语言和默认输入法

时间:2018-07-28 16:43:09

相关推荐

Android8.1 MTK平台 修改系统默认语言和默认输入法

一、默认语言

方法一

路径 \device\公司名字\项目名字\full_项目名字.mk

公司名字 看你的平台 mtk、rk

项目名字 看你的out/target/product/ 文件夹名称

PRODUCT_LOCALES := en_US zh_CN zh_TW es_ES pt_BR ru_RU fr_FR de_DE tr_TR vi_VN ms_MY in_ID th_TH it_IT ar_EG hi_IN bn_IN ur_PK fa_IR pt_PT nl_NL el_GR hu_HU tl_PH ro_RO cs_CZ ko_KR km_KH iw_IL my_MM pl_PL es_US bg_BG hr_HR lv_LV lt_L

将你要设置的默认语言移到第一位,一般大多是 zh_CN

方法二

路径 \build\tools\buildinfo.sh

找到变量 ro.product.locale 将其修改为你要默认的语言

if [ -n "$PRODUCT_DEFAULT_LOCALE" ] ; thenecho "ro.product.locale=$PRODUCT_DEFAULT_LOCALE"fi

这是系统原来的写法,就是读取默认的语言,直接将其注释进行赋值

echo "ro.product.locale="zh-CN""

注意中间是中横线,不是下划线,不然不生效的

方法三

此种方法我并未进行验证

路径 \build\target\product\full_base.mk

# Put en_US first in the list, so make it default.PRODUCT_LOCALES := en_US

看注释就知道是将第一位的语言设置为默认语言

相对应的语言列表文件为

\build\target\product\locales_full.mk

\build\target\product\languages_full.mk

若你烧录的是工程版本,可通过 修改 build.prop 文件,重启查看效果

adb pull /system/build.prop

修改 ro.product.locale=zh-CN

adb push

adb shell chmod 0755 /system/build.prop

adb shell setprop ro.product.locale “zh-CN”

adb reboot

查看设置的语言值 adb shell getprop ro.product.locale

二、默认输入法

修改如下两个位置

vendor/mediatek/proprietary/packages/apps/SettingsProvider/res/values/defaults.xml

<!--输入法的列表--><string name="enabled_input_methods" translatable="false">com.android.inputmethod.latin/.LatinIME:com.bingime.ime/.BingIme</string><!--默认输入法--><string name="config_default_input_method" translatable="false">com.bingime.ime/.BingIme</string>

ps:com.bingime.ime/.BingIme 这个串取决于你用的输入法,我这里是必应输入法,你可以通过反编译输入法apk,从 AndroidManifest.xml 中获取这个串,对应 service 的类名

<service android:name="com.bingime.ime.BingIme" android:permission="android.permission.BIND_INPUT_METHOD"><intent-filter><action android:name="android.view.InputMethod"/></intent-filter><meta-data android:name="android.view.im" android:resource="@xml/method"/></service>

vendor/mediatek/proprietary/packages/apps/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java

private void loadSecureSettings(SQLiteDatabase db) {SQLiteStatement stmt = null;try {stmt = pileStatement("INSERT OR IGNORE INTO secure(name,value)"+ " VALUES(?,?);");....loadStringSetting(stmt, Settings.Secure.ENABLED_INPUT_METHODS, R.string.enabled_input_methods);loadStringSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD, R.string.config_default_input_method);} finally {if (stmt != null) stmt.close();}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。