前言
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文章
1721瀏覽量
152080 -
usb
+關注
關注
60文章
7961瀏覽量
265104 -
Android系統
+關注
關注
0文章
56瀏覽量
13519 -
RK3568
+關注
關注
4文章
519瀏覽量
5104
原文標題:觸覺智能分享-RK3568 Android11修改默認輸入法
文章出處:【微信號:industio,微信公眾號:深圳觸覺智能】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論