更多内容请访问:与华为官方共建的鸿蒙技术社区https://harmonyos.51cto.com开发环境系统版本:OpenHarmony3.0LTS/OpenHarmony3.1beta开发板:3516/rk3568IDE:DevEco3.0.0.800开源系统应用SystemUISystemUI应用是OpenHarmony中预置的系统应用,为用户提供系统相关的信息展示和交互界面,包括系统状态、系统提示、系统提醒等,如系统时间、电池信息等。https://gitee.com/openharmony/applications_systemuiSettings设置应用是OpenHarmony系统中预置的系统应用,为用户提供设置系统属性的交互界面,如设置系统时间、屏幕亮度等系统属性。https://gitee.com/openharmony/applications_settingsLauncherLauncher,作为系统人机交互的主要入口,提供应用图标显示、点击启动、卸载应用,并提供桌面布局设置和最近任务管理功能。Launcher采用纯JS语言开发,开发过程中不涉及Java部分代码。https://gitee.com/openharmony/applications_launcher导入项目代码下载gitclone'复制下载地址'我个人比较喜欢用VisualTortoiseGit。下面我们以SystemUI项目为例。项目仓库:https://gitee.com/openharmony/applications_systemui代码下载完成后,记得切换分支,与当前开发板系统保持一致。由于每个版本的系统底层实现发生变化,使用其他分支可能会导致问题。打开项目并选择打开文件或项目,然后选择项目文件夹。选择确定后,会弹出一个查询框。选择更新。再次弹出查询框。选择信任项目。等待右下角的gradlebuildprogress完成。提示报错。根据报错信息,我们打开build.gradle。将build.gradle中以http开头的链接修改为https。buildscript{repositories{maven{url'https://repo.ark.tools.huawei.com/artifactory/maven-public/'}...}dependencies{classpath'com.huawei.ohos:hap:3.0.5.2'}}allprojects{repositories{maven{url'https://repo.ark.tools.huawei.com/artifactory/maven-public/'}...}}修改时会弹出查询框,点击确定。选择重新同步项目。终于可以看到项目目录了。检查build.gradle文件。每次修改文件都会提示重新同步,选择同步即可。查看设置项目等local.properties文件。文件内容可能乱七八糟。删除不需要的内容,我们只需要配置:sdk.dirnodejs.dirnpm.dir执行Build会发现很多警告,导致Build失败。我们一一纠正错误。\entry\src\main\config.json\product\navigationBar\src\main\config.json\product\notificationmanagement\src\main\config.json\product\statusbar\src\main\config.json添加在配置installationFree...},"distro":{..."installationFree":true},...重新构建,出现新错误。继续一一修改错误。发现错误原因是资源文件内容为空。然后我们一个一个添加资源文件。\features\airplanecomponent\src\main\resources\base\element\string.json\features\airplanecomponent\src\main\resources\base\element\color.json\features\capsulecomponent\src\main\resources\base\element\string.json\features\wificomponent\src\main\resources\base\element\color.json\features\statusbarcomponent\src\main\resources\base\element\string.json\features\statusbarcomponent\src\main\resources\en_US\element\string.json\features\statusbarcomponent\src\main\resources\zh_CN\element\string.json//这样的资源文件内容会报错{"string":[]}//只是添加内容可以修改{"string":[{"name":"xxx","value":"xxx"}]}完成修改,再次构建,成功!您可以在项目的构建目录中查看所有未签名的hap包。应用签名需要的别名和密码(为什么密码是敏感词_(:з」∠)_):别名:OpenHarmony应用发布密码:123456生成签名文件查看官方签名工具仓库:https://gitee。com/openharmony/signcenter_tool发现官方没有提供.cer,只好自己生成一个,在工具箱中可以得到一个OpenHarmony.p12文件。##.csrkeytool-certreq-alias"OpenHarmonyApplicationRelease"-keystoreE:\signcenter_tool\key\OpenHarmony.p12-storetypepkcs12-fileE:\signcenter_tool\key\OpenHarmony.csr##.cer##需要进入OpenharmonySDK执行keytool-gencert-alias"OpenHarmonyApplicationCA"-infileE:\signcenter_tool\key\OpenHarmony.csr-outfileE:\signcenter_tool\key\OpenHarmony.cer-keystoreOpenHarmony.p12-sigalgSHA384withECDSA在路径/toolchain/libdirectory-storepass123456-extKeyUsage:"critical=digitalSignature"-validity3650-rfc获取应用配置文件每个官方开源项目都有一个签名文件夹,使用里面的p7b文件即可。也可以重新生成,可以参考官方文档自行生成。配置签名打开ProjectStructure->Modules->SigningConfigs,取消勾选Automaticallygeneratesigning,填写签名配置。执行Apply后会弹出提示框,无视即可。需要签名的模块如下:navigationBarstatusbarsystemDialog(3.1beta已移除)执行Build,在项目build目录下可以看到签名的hap包。应用安装hdc_std使用指南:https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/subsystems/subsys-toolchain-hdc-guide.mdOpenHarmony3.0LTS临时安装使用通用hap包安装方式,适合临时调试。清除设备中存储的应用信息后,系统应用会启用原有的预置系统包。hdc_stdinstall[-r/-d/-g]Applicationpathbuilt-ininstallation#进入交互命令环境hdc_stdshell如果设备上不存在/system/app目录,需要手动创建目录并修改权限。$cdsystem$mkdirapp$chmod777app/system/app目录放置系统应用程序,如:Launcher、SystemUI、Settings等。向该目录发送hap包。hdc_stdfilesend[文件路径]\[application].hapsystem/app/[application].hap新添加的hap包需要手动在该目录设置权限。$chmod666happackagename每次系统重启时,都会自动拉出该目录下的所有应用程序。$reboot注意如果设备之前安装过系统应用,需要执行下面两条命令清除设备中保存的应用信息,这样设备重启的时候我们加载到设备中的新的hap包才能正常拉起.hdc_stdshellrm-rf/data/misc_de/0/mdds/0/default/bundle_manager_servicehdc_stdshellrm-rf/data/accountsOpenHarmony3.1beta临时安装与OpenHarmony3.0LTS临时安装相同。3.1内测版临时安装过程中可能不会刷新界面。建议安装系统应用后重启。#安装应用程序hdc_stdinstall[-r/-d/-g]应用程序路径#安装成功后,3.1beta需要重启系统hdc_stdshellreboot内置安装才能进入交互式命令环境。hdc_stdshell3.1beta系统重启后,需要修改目录权限才能运行。#更改权限$mount-oremount,rw/#完成后退出$exit后续安装操作同OpenHarmony3.0LTS内置安装操作。完成后重启系统。hdc_stdshellrm-rf/data/misc_de/0/mdds/0/default/bundle_manager_servicehdc_stdshellrm-rf/data/accountshdc_stdshellreboot有兴趣的一起来试试吧~想要了解更多,请访问:与华为官方共建Harmonyos技术社区https://harmonyos.51cto.com
