最近有客户反馈说机器上默认使用的搜狗输入法联网之后有时候会弹唱提示更新,会造成使用上一定的影响,因此需要把他更换成别的输入法,并把它设置成默认使用,在这里我们更换谷歌拼音输出法.在这里我的平台是rk3288,其他平台可根据自己平台名字找目录,大同小异.
-
将谷歌拼音apk编进固件,在device/rockchip/rk3288下新建一个Google目录,将谷歌拼音apk放入目录,并编写Android.mk
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := googlepinyin LOCAL_MODULE_CLASS := APPS LOCAL_MODULE_TAGS := optional LOCAL_BUILT_MODULE_STEM := package.apk LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX) #LOCAL_PRIVILEGED_MODULE := #LOCAL_OVERRIDES_PACKAGES := LOCAL_SRC_FILES := $(LOCAL_MODULE).apk #LOCAL_REQUIRED_MODULES := LOCAL_CERTIFICATE := PRESIGNED include $(BUILD_PREBUILT)
-
在device/rockchip/rk3288/device.mk下加入编译规则,让刚刚加入的apk在编译Android时自动编译,在device.mk里加入
PRODUCT_PACKAGES += \ googlepinyin
以上是将apk预置进系统的步骤,详细的讲解请参考我博客,有很详细的讲解以及其他方法
https://blog.csdn.net/Shushan1/article/details/87932032 -
设置谷歌拼音为默认输入法
frameworks/base/packages/SettingsProvider/res/values/defaults.xml下<string name="def_default_input_method" translatable="false">com.google.android.inputmethod.pinyin/.PinyinIME</string> <string name="def_enabled_input_methods" translatable="false">com.google.android.inputmethod.pinyin/.PinyinIME</string>
frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java下
loadStringSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD, R.string.config_default_input_method); loadStringSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD, R.string.def_default_input_method);
packages/apps/Launcher3/src/com/android/launcher3/LauncherModel.java下添加:
if("com.google.android.inputmethod.pinyin".equals(apps.get(i).getApplicationInfo().packageName)) { continue; }
到这里基本的修改就完成了,注意如果之前已经默认了输入法的,比如我的之前默认了搜狗输入法的,需要将搜狗输入法屏蔽掉,只留下你新加的输入法.
编译烧录测试OK.