【鸿蒙学习必备】OpenHarmony如何替换系统软键盘

652 篇文章 5 订阅
647 篇文章 7 订阅

kikakeyboard 适配PAD

效果

适配前

图片

适配后

图片

设备类型适配

PAD设备基本属于横向类型设备,也就是宽度大于高度,在3.2.3 release的版本上已经做了table类型的适配,但是IDE运行时因为应用无法直接安装,所以无法正确的判别设备的类型,会默认返回default类型设备,所以对于PAD的适配只需要修改程序中设置的设备类型即可。
  • index.ets

let deviceType = 'tablet'

软键盘高度问题

系统有虚拟操作栏,软键盘从底部弹出,所以底部有些会被虚拟软键盘遮挡。解决方案有两种:
1、长按桌面,进行界面设置,开启手势操作,隐藏虚拟操作栏;
2、修改软键盘弹窗的显示高度,操作步骤
  • KeyboardController

var keyHeightRate = 0.51;

说明:keyHeightRate是一个高度比例,0.51就表示占屏幕高度的51%,可以根据设备的实际情况进行调整。

安装

软键盘程序修改后需要重新安装到设备上,由于软键盘程序属于系统应用,并且有签名限制无法直接通过IDE的 run 安装。如何才能正常的安装上软键盘程序呢?

步骤1:修改签名配置

在IDE设置中查找OpenHarmony SDK的位置

图片

步骤2:修改打包签名配置

在SDK的lib中中查找到UnsgnedReleasedProfileTemplate.json文件

替换以下关键信息

  • distribution-certificate:cer签名配置

  • bundle-name:应用包名

  • app-feature:应用级别-ohos_system_app:系统应用

  • allowed-acls:权限

图片

步骤3:自动签名

图片

步骤4:获取指纹信息

1、在DevEco Studio 中打开Log 界面,选择HiLog 过滤 "finger" 字符。

图片

2、进入系统Shell命令行 ,设置Hilog 等级。

图片

3、单击Run > Run '{模块名称}'  运行工程中任意HAP包。在运行时会进行HAP包的安装,此时有可能安装不成功报错,是因为我们应用未正确配置导致,但此时我们目的为获取指纹信息,忽略错误。

图片

4、查看DevEco Studio 的Log 界面,指纹信息已经被打印出来。

图片

假设我们获取到的指纹信息:6828322A055D4DDFA07DCCC78586EA97B5D2AD7D8BD1B3CEFE00EF584904D728

以下步骤的前置条件:
  • 设备通过USB连接PC

  • PC端已经配置了hdc的环境变量,这是确保脚本可以正常执行的必要条件

步骤5:备份软键盘程序和安装配置文件

1、执行下面的脚本会将当前设备上的软键盘程序kikaInput.hap和应用安装配置文件。
  • /com.example.kikakeyboard/kikaInput.hap

  • /app/install_list_capability.json

hdc file recv /system/app/com.example.kikakeyboard
hdc file recv /system/etc/app
pause

图片

2、修改install_list_capability.json中的"bundleName": "com.example.kikakeyboard",对应的选项,将步骤4中获取到的指纹信息进行替换。

{
            "bundleName": "com.example.kikakeyboard",
            "singleton": true,
            "runningResourcesApply": false,
            "associatedWakeUp": false,
            "app_signature" : ["6828322A055D4DDFA07DCCC78586EA97B5D2AD7D8BD1B3CEFE00EF584904D728"],
            "allowCommonEvent": [],
            "allowAppUsePrivilegeExtension": true
        },

步骤6:删除设备中的软键盘应用包

执行如下脚本:
hdc shell mount -o remount,rw /
hdc shell rm -rf /system/app/com.example.kikakeyboard/kikaInput.hap
hdc shell reboot
pause

步骤7:替换软键盘应用程序

1、准备好二次开发并且添加签名的安装包:entry-default-signed.hap
2、准备好步骤5中修改好了安装配置文件:install_list_capability.json

图片

3、执行下面脚本:

hdc shell mount -o remount,rw /
hdc file send install_list_capability.json /system/etc/app/install_list_capability.json
hdc file send entry-default-signed.hap /system/app/com.example.kikakeyboard/kikaInput.hap
hdc shell reboot
pause

执行后设备会自动重启,重启成功后就完成了系统软键盘安装包的替换。

备注:步骤6、7可以合并,这样可以减少一次设备重启,但是实践测试发现,步骤6删除旧的软键盘安装包后不重启,步骤7无法执行成功,所以这里进行分开执行。

为了方便执行步骤5~步骤7,相关的脚本已经添加在附件中,解压就可以使用。

最后

如果你想快速提升鸿蒙技术,那么可以直接领取这份包含了:【OpenHarmony多媒体技术、Stage模型、ArkUI多端部署、分布式应用开发、音频、视频、WebGL、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战】等技术知识点。

鸿蒙Next全套VIP学习资料←点击领取!(安全链接,放心点击

1.鸿蒙核心技术学习路线

2.大厂面试必问面试题

3.鸿蒙南向开发技术

 4.鸿蒙APP开发必备

 5.HarmonyOS Next 最新全套视频教程

 6.鸿蒙生态应用开发白皮书V2.0PDF

这份全套完整版的学习资料已经全部打包好,朋友们如果需要可以点击鸿蒙Next全套VIP学习资料免费领取(安全链接,放心点击

  • 17
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值