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

简介: 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" ] ; then
  echo "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 = db.compileStatement("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();
    }
}


目录
相关文章
|
1天前
|
Android开发
Android 如何将定制的Launcher成为系统中唯一的Launcher
Android 如何将定制的Launcher成为系统中唯一的Launcher
19 2
|
1天前
|
开发工具 Android开发
rk平台Android12屏幕永不休眠
rk平台Android12屏幕永不休眠
20 1
|
1天前
|
存储 缓存 Android开发
Android系统分区与升级
Android系统分区与升级
21 4
|
1天前
|
安全 搜索推荐 物联网
构建未来:基于Android的智能物联网家居系统
【5月更文挑战第15天】 在快速发展的数字化时代,智能物联网(IoT)技术与移动操作系统的结合正在塑造未来家居的生活方式。特别是Android平台,以其开放性、灵活性和广泛的用户基础,成为智能家居创新的理想选择。本文将探讨如何利用Android系统构建一个高效、安全且易于扩展的智能家居控制系统,涵盖系统设计、关键技术实现以及可能面临的挑战。通过分析具体案例,我们旨在为开发者和企业提供一套可行的解决方案蓝图,以促进智能家居领域的进一步发展。
|
1天前
|
存储 监控 安全
打造高效移动办公环境:Android与iOS平台的集成策略
【5月更文挑战第15天】 在数字化时代,移动办公不再是一种奢望,而是日常工作的必需。随着智能手机和平板电脑的性能提升,Android与iOS设备已成为职场人士的重要工具。本文深入探讨了如何通过技术整合,提高两大移动平台在企业环境中的协同工作能力,重点分析了各自平台上的系统集成策略、安全性考虑以及跨平台协作工具的应用。通过对现有技术的剖析与案例研究,旨在为读者提供一套实用的移动办公解决方案。
|
1天前
|
Java Android开发
Android OTG U盘无法显示在系统文件管理的修改
Android OTG U盘无法显示在系统文件管理的修改
9 0
|
1天前
|
Android开发
Android 高通平台集成无源码apk示例
Android 高通平台集成无源码apk示例
17 0
|
1天前
|
安全 Android开发
修改Android系统的签名
修改Android系统的签名
20 0
|
1天前
|
安全 Android开发
Android 系统签名
Android 系统签名
18 0
|
1天前
|
Android开发
关于高通Android 平台上qssi的介绍
关于高通Android 平台上qssi的介绍
14 0