当前位置:首页 > 安卓源码 > 技术博客 >

Android系统预置百度输入法

时间:2019-10-12 17:51 来源:互联网 作者:源码搜藏 浏览: 收藏 挑错 推荐 打印

文档说明 本文档以SC806-CN-00为例(msm8909平台,Android 5.1),说明如何预置百度输入法APK,且设置为系统默认输入法。 预置百度输入法APK 先去百度网站下载一个百度输入法的APK文件,这里我们修改下文件名为 baidu-shurufa.apk。 下载网址:https://shouji.

文档说明

本文档以SC806-CN-00为例(msm8909平台,Android 5.1),说明如何预置百度输入法APK,且设置为系统默认输入法。

预置百度输入法APK

先去百度网站下载一个百度输入法的APK文件,这里我们修改下文件名为 baidu-shurufa.apk。

下载网址:https://shouji.baidu.com/software/26443738.html

apk文件解压之后的结构如下图:

Android系统预置百度输入法

 

打开 lib\armeabi-v7a 文件夹,可以看到很多so库文件。

Android系统预置百度输入法

 

另外写一个预编译的Android.mk文件,需要注意的是增加 LOCAL_PREBUILT_JNI_LIBS 项,

包含所有的so文件,具体见下面附件:

https://uploader.shimo.im/f/ohGrY0dvBl4VRwjW.mk?attname=Android.mk&download

在vendor/fibo/common/下,新建一个目录 Baidu/,把上面提到的两个文件 baidu-shurufa.apk / Android.mk文件和 lib 文件夹 放在该目录下。

Android系统预置百度输入法

 

可以先单独编译一下该模块:

source build/envsetup.sh

lunch n // n为编译选项

mmm vendor/fibo/common/Baidu/

Android系统预置百度输入法

 

编译之后生成的APK文件:

out/target/product/la0920/system/app/baidu-shurufa/baidu-shurufa.apk

把编译之后生成的APK文件,用adb推送到系统/system/app目录下,然后重启系统。

Android系统预置百度输入法

 

重启之后能看到我们可爱的百度输入法。

Android系统预置百度输入法

 

那么接下来修改下系统编译的Makefile文件,把百度输入法这个模块加入编译。

修改 vendor/fibo/la0920/la0920.mk,增加百度输入法模块名称,这里要注意是增加模块名称 “baidu-shurufa”,不是增加文件夹名称 "Baidu"

Android系统预置百度输入法

 

https://uploader.shimo.im/f/lymRwT9qpD4UXMYn.patch?attname=la0920.mk.patch&download

然后编译system

make systemimage -j8

烧录system.img,重启系统,可以看到百度输入法已经预置到系统里面。

不过在默认情况下,百度输入法还处于未勾选/未切换的状态。

设置默认输入法

下面继续革命,把百度输入法设置为默认输入法。

修改 frameworks/base/packages/SettingsProvider/res/values/customize.xml,增加配置项默认输入法为com.baidu.input/.ImeService

Android系统预置百度输入法

 

不同的输入法名称对应如下,不过除了百度输入法其他的我没验证过。

百度: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

修改 frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java,加载默认输入法。这里把原来的逻辑判断都删掉了,直接加载。

Android系统预置百度输入法

 

修改frameworks/base/core/java/com/Android/internal/inputmethod/InputMethodUtils.java,使能系统中所有输入法

Android系统预置百度输入法

 

以上三处patch文件,见下面附件:

https://uploader.shimo.im/f/HMHrR647ttUMLmWN.patch?attname=customize.xml.patch&download

https://uploader.shimo.im/f/iiDtRk6Glm8txh0S.patch?attname=DatabaseHelper.java.patch&download

https://uploader.shimo.im/f/WfQajJ9hmVMkxYv8.patch?attname=InputMethodUtils.java.patch&download

重新编译system,烧录,开机。可以看到百度输入法已经默认打开并使用。

https://uploader.shimo.im/f/sljtcCNwv846fxRq.mp4?attname=Fibocom-SC806-2019-10-10-17-50-52-1.mp4&download

Android系统预置百度输入法 转载https://www.codesocang.com/appboke/44052.html

技术博客阅读排行

最新文章