Android11修改第三方输入法为默认输入法,使用触觉智能瑞芯微RK3566鸿蒙开发板演示

本文适用于触觉智能所有支持Android11系统的开发板修改第三方输入法为默认输入法。本次使用的是触觉智能的Purple Pi OH鸿蒙开源主板,搭载了瑞芯微RK3566芯片,类树莓派设计,是Laval官方社区主荐的一款鸿蒙开发主板。

安装输入法并查看输入法包名

本次要安装的是百度输入法,安装方法如下:

 

1.1 adb命令行方式安装

电脑键盘通过win+R组合键弹出输入框,输入cmd进入电脑终端,并执行以下命令:

#查看是否识别到adb设备
adb.exe devices


#让系统获取root权限
adb.exe root


#让系统可读可写
adb.exe remount


#开始安装
adb.exe install /your/target/path/baidu.apk
 

 

1.2 U盘/TF卡安装
将输入法apk放置U盘/TF内,插入主板识别到设备后,进入系统桌面找到【资源管理器】应用,点击U盘输入法apk应用安装即可。

安装成功

 


1.3 查看输入法包名

# ime list -s
com.baidu.input/.ImeService

输出的结果就是该输入法的包名/类名。

 

系统预安装输入法应用

 

将需要预安装的百度输入法APK放置
device/rockchip/rk356x/rk3566_r/preinstall_del/目录下(没有preinstall_del目录就手动创建一个即可),并添加以下文件:

  • Android.mk

  • baidu.apk(APK)

  • preinstall.mk


Android.mk文件内容:

include $(call all-subdir-makefiles)

preinstall.mk文件内容:

PRODUCT_PACKAGES += baidu

注意:baidu为APK名字,例如baidu.apk。

 

修改输入法环境变量


将前面第一步获取到的百度输入法包名/类名添加到以下文件:

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

内容如下:

     <!-- should show the screenshot button default -->
     
<integer name="def_screenshot_button_show">0</integer>   

+       <!-- set default input method-->

+       <string name="config_default_input_method" translatable="false">com.baidu.input/.ImeService</string>

 </resources>

修改默认输入法
将前面输入法环境添加到以下文件:
frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java

添加内容如下:

         class DatabaseHelper extends SQLiteOpenHelper {

             loadIntegerSetting(stmt, Settings.Secure.SLEEP_TIMEOUT,
                     
R.integer.def_sleep_timeout);

+            loadStringSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD, R.string.config_default_input_method);//add hjt
             

/*
              
* IMPORTANT: Do not add any more upgrade steps here as the global,
              
* secure, and system settings are no longer stored in a database
添加完重新编译源码即可。
 

查看百度输入法是否为默认输入法

命令行

# settings get secure default_input_method

com.baidu.input/.ImeService

设置默认输入法成功

 

 
posted @   Industio_触觉智能  阅读(140)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示