本文介绍如何在OpenHarmony 5.0.0 r版本中修改系统设置应用,并且编译安装到开发板上
开发环境
1.dayu200开发板
2.OpenHarmony 5.0.0r 固件
3.API12 full sdk (如果安装full sdk过程中出现报错hvigor ERROR: Cannot find module 'typescript'
,请参考 https://forums.openharmony.cn/forum.php?mod=viewthread&tid=3012 。取消手动npm install 安装操作
)
3.DevEco Studio 4.1.0.400 (4.1 Release)
实现步骤
1.获取5.0.0r 设置应用源码
https://gitee.com/openharmony/applications_settings/tree/OpenHarmony-v5.0.0-Release/
2,使用 DevEco Studio 4.1 Release 和 API12 Full SDK对系统应用进行签名,默认工程是未配置签名的状态,所构建的包均为 unsigned 标记的HAP包,无法安装到 OpenHarmony 系统中。
打开developtools_hapsigner仓库,进入 dist 目录,点击下载OpenHarmony.p12和OpenHarmonyApplication.pem(pem文件若无法直接下载,可直接在目录中创建文件然后将内容拷贝到文件中)。
把下载好的文件放入工程目录的 signature 中。
- 签名文件配置:
DevEco Studio 4.0 Release 版本界面化配置签名时,秘钥不允许配置8位以下纯数字秘钥,而标准签名文件的秘钥为123456 ,所以无法通过DevEco Studio 界面进行签名的配置。仅能使用手动配置build-profile.json5 文件方式,进行签名信息的配置。下载material包解压后放入signature 目录中,material 文件夹中存放的为加密文件,此包将给予签名工具验证秘钥时使用。
- 配置工程根路径build-profile.json5 文件,拷贝以下签名信息到配置文件中,其中storePassword 和keyPassword 为material 包与秘钥加密生成的数据,keyAlias 为固定值"OpenHarmony Application Release"。
"signingConfigs": [{ "name": "release", "material": { "storePassword": "00000016D9DCF063F0FC4BBD0E7FE1E3B06A67C07BECE1BDD4E2A3EFDAE20F890810EC02AA2A", "certpath": "signature/OpenHarmonyApplication.pem", "keyAlias": "OpenHarmony Application Release", "keyPassword": "00000016FD3897FD4C46940ED39FFC652872B7B18BEDCCA07400A6EBEE307C9C41B96DB6B64D", "profile": "signature/settings.p7b", "signAlg": "SHA256withECDSA", "storeFile": "signature/OpenHarmony.p12" } }],
- 配置工程根路径build-profile.json5 文件
products
字段,特别是compatibleSdkVersion
的值必须为12
"products": [ { "name": "default", "signingConfig": "release", "compileSdkVersion": 12, "compatibleSdkVersion": 12 }
- 构建安装验证
单击 Build >Build Hap(s)/APP(s) > Build APP(s) 构建 SystemUI 工程HAP包。
4.安装编译好的设置应用
- 编译好的应用在\product\phone\build\default\outputs\default\phone-default-signed.hap
hdc file send phone-default-signed.hap /data
hdc shell
bm install -p /data/phone-default-signed.hap
参考文档
- 如何在OpenHarmony 4.1R上设置系统默认不锁屏(修改系统锁屏应用)
- https://laval.csdn.net/66ccdb860bfad230b8afe6c2.html@ohos.systemParameterEnhance系统参数接口调用:获取系统属性