Android8.1MTK平台设置开机默认输入法(安卓系统定制)

安卓8.1设置开机默认输入法

有些安卓系统原生的输入法并不满足客户需要,但是手动安装又比较繁琐(一般是多台机器),这时候就需要在原生安卓系统里预装并设置好默认输入法,以下是实现步骤。

第一步,预装输入法

首先,把要默认为对应输入法的安卓包在网上下载下来,预装进系统源码中。

先说一个最简单的预装APK的方式。

在 package/apps/ 下面以需要预置的apk名字新建文件夹,如果是安卓8.1,路径为vendor\mediatek\proprietary\packages\apps

以预置 sogou为例。
将 sogou.apk 放到 package/apps/sogou中。
在 package/apps/sogou下面创建文件 Android.mk,文件内容如下
在 build/make/target/product/core.mk或device/mediatek/common/device.mk中添加

PRODUCT_PACKAGES += sogou
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)

# Module name should match apk name to be installed
LOCAL_MODULE := sogou
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_CERTIFICATE := PRESIGNED

include $(BUILD_PREBUILT)

若需要apk作为32bit的apk运行,则需要在Android.mk中定义
LOCAL_MULTILIB :=32
如需指定apk预置路径,需在Android.mk中定义LOCAL_MODULE_PATH :=xxxxx
实现apk可卸载在
vendor/mediatek/proprietary/frameworks/base/data/etc/pms_sysapp_removable_system_list.txt中添加sogou包名

最后重新build整个工程。

 

第二步,在系统数据库中录入输入法的包名

1)如果系统是安卓5.1,输入法为搜狗输入法(如果换成其他的输入法,替换红色代码部分即可

frameworks/base/packages/SettingsProvider/res/values/defaults.xml

+com.sohu.inputmethod.sogou/.SogouIME

+com.android.inputmethod.latin/.LatinIME:com.sohu.inputmethod.sogou/.SogouIME

 

frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java

loadSecureSettings()方法中加入

+loadStringSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD,

R.string.def_input_method);

+loadStringSetting(stmt, Settings.Secure.ENABLED_INPUT_METHODS,

R.string.def_enabled_input_methods);

 

2)如果系统是安卓8.1,输入法为搜狗输入法(如果换成其他的输入法,替换红色代码部分即可),跟安卓5.1不同的是,路径不一样,实现方法相同

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

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

 

3)以下是经常用到的输入法包名,可供参考

百度:com.baidu.input/.ImeService

讯飞:com.iflytek.inputmethod/.FlyIME

腾讯:com.tencent.qqpinyin/.QQPYInputMethodService

谷歌:com.google.android.inputmethod.pinyin/.PinyinIME

搜狗:com.sohu.inputmethod.sogou/.SogouIME

触宝:com.cootek.smartinput5/.TouchPalIME

默认输入法就是这两步,是不是超级简单hhhh~

 

你可能感兴趣的:(Android8.1MTK平台设置开机默认输入法(安卓系统定制))