前言
RK3568 Android11平台自带Android英文输入法,本文基于IDO-EVB3568平台,以百度输入法为例,介绍安装和内置第三方输入法的方法。
我司基于RK3568开发的工控主板,四核A55 2.0G 主频,支持高达8GB高速LPDDR4,1T算力NPU ,4K H.265硬解码,4K HDMI2.0显示输出,支持双通道LVDS/eDP/两路MIPI DSI 等多种显示接口,支持3屏异显。板载2路千兆以太网,双频WIFI+蓝牙,支持5G或4G通信,支持2路USB3.0和7路USB2.0/SATA3.0,5路串口(UART/RS232/RS485),2路CAN总线。
支持Android11/Debian10/Ubuntu20/Buildroot/麒麟OS/开源鸿蒙等多种操作系统。
01 获取输入法名称
在将输入法内置到系统之前,可以通过手动安装的方式,获取输入法的包名和类名。
通过adb安装输入法apk,并使用ime list命令查看输入法包名类名:
> adb install baidu_input.apk > adb shellimelist-s com.android.inputmethod.latin/.LatinIME com.baidu.input/.ImeService02 输入法预安装
将输入法apk文件添加至 device/rockchip/rk356x/rk3568_r/preinstall_del/ 目录下,编译后该APK文件将会预安装至系统。
03 环境变量修改
添加环境变量def_input_method,指定变量值为输入法的包名和类名。修改内容如下:
--- a/frameworks/base/packages/SettingsProvider/res/values/defaults.xml +++ b/frameworks/base/packages/SettingsProvider/res/values/defaults.xml @@ -246,4 +246,7 @@04 设置默认输入法0 + + +com.baidu.input/.ImeService
在设置源码中,指定DEFAULT_INPUT_METHOD为要设置的输入法。修改内容如下:
--- a/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java +++ b/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java @@ -2319,6+2319,9@@ classDatabaseHelperextendsSQLiteOpenHelper{ try{ stmt = db.compileStatement("INSERT OR IGNORE INTO secure(name,value)" + " VALUES(?,?);"); + + loadStringSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD, + R.string.def_input_method); // Don't do this. The SystemServer will initialize ADB_ENABLED from a // persistent system property instead.05 给输入法添加默认权限
输入法一般需要定位、存储等权限,可通过预先设置输入法默认的权限,避免输入法启动时弹出权限申请确认弹窗。修改内容如下:
--- a/frameworks/base/services/--- a/frameworks/base/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java +++ b/frameworks/base/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java @@ -527,6+527,9@@ publicfinal classDefaultPermissionGrantPolicy{ String[] calendarSyncAdapterPackages = (syncAdapterPackagesProvider != null) ? syncAdapterPackagesProvider.getPackages(CalendarContract.AUTHORITY, userId) : null; + // baidu input + grantPermissionsToPackage(pm, "com.baidu.input", userId, false, true, ALWAYS_LOCATION_PERMISSIONS,STORAGE_PERMISSIONS,PHONE_PERMISSIONS,MICROPHONE_PERMISSIONS,CONTACTS_PERMISSIONS); + // Installer grantSystemFixedPermissionsToSystemPackage(pm, ArrayUtils.firstOrNull(getKnownPackages(06 输入法测试
可通过adb命令查看系统默认输入法
> adb shellsettings getsecure default_input_method
经过以上步骤的系统修改,点击系统桌面上的编辑框,默认调用的输入法将会变更为修改后的输入法
审核编辑:刘清
-
HDMI
+关注
关注
32文章
1642浏览量
151545 -
usb
+关注
关注
60文章
7874浏览量
263674 -
Android系统
+关注
关注
0文章
56浏览量
13455 -
RK3568
+关注
关注
4文章
489浏览量
4877
原文标题:触觉智能分享-RK3568 Android11修改默认输入法
文章出处:【微信号:industio,微信公众号:深圳触觉智能】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论