openharmony pc 之路: (2) openharmony 镜像预置hap应用和默认系统应用替换
1.镜像预置hap应用
1.1 首先,应用需要是已签名应用,如果需要系统权限,要用系统签名。
可以参考我的以下签名相关文章
OpenHarmony签名指南:自动与手动详解_openharmony 手动签名系统应用-CSDN博客
1.2 路径
/home/zzj/openharmony/applications/standard/hap/ 此为预置hap应用路径

1.3 修改配置文件
/home/zzj/openharmony/applications/standard/hap/BUILD.gn
添加如下配置
ohos_prebuilt_etc("net_setting_hap") {
source = "com.bq.net_setting.hap"
module_install_dir = "app/com.bq.net_setting"
part_name = "prebuilt_hap"
subsystem_name = "applications"
}
net_setting_hap 自定义,下边一致即可
com.bq.net_setting.hap 预置的文件名
app/com.bq.net_setting 放置路径,需要和应用 bundleName 一致
group("hap") {
deps = [
":audiopicker_hap",
":calendarData_hap",
":printspooler_hap",
":securityPrivacyCenter_hap",
":systemDialog_hap",
":updateapp_hap",
"//applications/standard/hap:calc_demo_hap",
......
"//applications/standard/hap:net_setting_hap",
]

/home/zzj/openharmony/vendor/hihope/rk3568/preinstall-config/install_list.json
{
"app_dir": "/system/app/com.bq.net_setting",
"removable": false
}
/system/app/com.bq.net_setting 板子实际路径
removable 是否可以被删除
以下是两个其他配置,一般不用改
/home/zzj/openharmony/vendor/hihope/rk3568/preinstall-config/install_list_capability.json 是否一直运行
/home/zzj/openharmony/vendor/hihope/rk3568/preinstall-config/install_list_permissions.json 权限
1.4 重新编译
./build.sh --product-name rk3568
1.5 显示效果

2.默认系统应用替换
2.1 launcher (拷贝自己编译的6.1 hap 到相应目录)
一般只拷贝到/home/zzj/openharmony/applications/standard/hap/即可
Launcher.hap
cp -arf Launcher.hap /home/zzj/openharmony/applications/standard/hap/Launcher.hap
cp -arf Launcher.hap /home/zzj/openharmony/out/rk3568/obj/applications/standard/hap/Launcher.hap
cp -arf Launcher.hap /home/zzj/openharmony/out/rk3568/packages/phone/system/app/com.ohos.launcher/Launcher.hap
Launcher_Settings.hap
cp -arf Launcher_Settings.hap /home/zzj/openharmony/applications/standard/hap/Launcher_Settings.hap
cp -arf Launcher_Settings.hap /home/zzj/openharmony/out/rk3568/obj/applications/standard/hap/Launcher_Settings.hap
cp -arf Launcher_Settings.hap /home/zzj/openharmony/out/rk3568/packages/phone/system/app/com.ohos.launcher/Launcher_Settings.hap
launcher相关可以直接用签名后的替换,不会造成卡住进步不去系统的情况
2.1 settings 替换
cp -arf Settings.hap /home/zzj/openharmony/applications/standard/hap/Settings.hap
cp -arf Settings.hap /home/zzj/openharmony/out/rk3568/obj/applications/standard/hap/Settings.hap
cp -arf Settings.hap /home/zzj/openharmony/out/rk3568/packages/phone/system/app/com.ohos.settings/Settings.hap
2.3 SystemUI 相关 替换
cp -arf SystemUI-DropdownPanel.hap /home/zzj/openharmony/applications/standard/hap/SystemUI-DropdownPanel.hap
cp -arf SystemUI-DropdownPanel.hap /home/zzj/openharmony/out/rk3568/obj/applications/standard/hap/SystemUI-DropdownPanel.hap
cp -arf SystemUI-DropdownPanel.hap /home/zzj/openharmony/out/rk3568/packages/phone/system/app/com.ohos.systemui/SystemUI-DropdownPanel.hap
cp -arf SystemUI-NavigationBar.hap /home/zzj/openharmony/applications/standard/hap/SystemUI-NavigationBar.hap
cp -arf SystemUI-NavigationBar.hap /home/zzj/openharmony/out/rk3568/obj/applications/standard/hap/SystemUI-NavigationBar.hap
cp -arf SystemUI-NavigationBar.hap /home/zzj/openharmony/out/rk3568/packages/phone/system/app/com.ohos.systemui/SystemUI-NavigationBar.hap
cp -arf SystemUI-NotificationManagement.hap /home/zzj/openharmony/applications/standard/hap/SystemUI-NotificationManagement.hap
cp -arf SystemUI-NotificationManagement.hap /home/zzj/openharmony/out/rk3568/obj/applications/standard/hap/SystemUI-NotificationManagement.hap
cp -arf SystemUI-NotificationManagement.hap /home/zzj/openharmony/out/rk3568/packages/phone/system/app/com.ohos.systemui/SystemUI-NotificationManagement.hap
cp -arf SystemUI-ScreenLock.hap /home/zzj/openharmony/applications/standard/hap/SystemUI-ScreenLock.hap
cp -arf SystemUI-ScreenLock.hap /home/zzj/openharmony/out/rk3568/obj/applications/standard/hap/SystemUI-ScreenLock.hap
cp -arf SystemUI-ScreenLock.hap /home/zzj/openharmony/out/rk3568/packages/phone/system/app/com.ohos.systemui/SystemUI-ScreenLock.hap
cp -arf SystemUI-StatusBar.hap /home/zzj/openharmony/applications/standard/hap/SystemUI-StatusBar.hap
cp -arf SystemUI-StatusBar.hap /home/zzj/openharmony/out/rk3568/obj/applications/standard/hap/SystemUI-StatusBar.hap
cp -arf SystemUI-StatusBar.hap /home/zzj/openharmony/out/rk3568/packages/phone/system/app/com.ohos.systemui/SystemUI-StatusBar.hap
cp -arf SystemUI-SystemDialog.hap /home/zzj/openharmony/applications/standard/hap/SystemUI-SystemDialog.hap
cp -arf SystemUI-SystemDialog.hap /home/zzj/openharmony/out/rk3568/obj/applications/standard/hap/SystemUI-SystemDialog.hap
cp -arf SystemUI-SystemDialog.hap /home/zzj/openharmony/out/rk3568/packages/phone/system/app/com.ohos.systemui/SystemUI-SystemDialog.hap
cp -arf SystemUI-VolumePanel.hap /home/zzj/openharmony/applications/standard/hap/SystemUI-VolumePanel.hap
cp -arf SystemUI-VolumePanel.hap /home/zzj/openharmony/out/rk3568/obj/applications/standard/hap/SystemUI-VolumePanel.hap
cp -arf SystemUI-VolumePanel.hap /home/zzj/openharmony/out/rk3568/packages/phone/system/app/com.ohos.systemui/SystemUI-VolumePanel.hap
cp -arf SystemUI.hap /home/zzj/openharmony/applications/standard/hap/SystemUI.hap
cp -arf SystemUI.hap /home/zzj/openharmony/out/rk3568/obj/applications/standard/hap/SystemUI.hap
cp -arf SystemUI.hap /home/zzj/openharmony/out/rk3568/packages/phone/system/app/com.ohos.systemui/SystemUI.hap
除锁屏页hap外(applications_screenlock),其他hap包都在 applications_systemui 包
"SystemUI-DropdownPanel.hap"
"SystemUI-StatusBar.hap"
"SystemUI-NavigationBar.hap"
"SystemUI-SystemDialog.hap"
"SystemUI-NotificationManagement.hap"
"SystemUI-VolumePanel.hap"
"SystemUI.hap"
"SystemUI-ScreenLock.hap"
"applications_systemui/product/phone/dropdownpanel/build/default/outputs/default/phone_dropdownpanel-phone_entry-default-unsigned.hap"
"applications_systemui/product/phone/statusbar/build/default/outputs/default/phone_statusbar-phone_entry-default-unsigned.hap"
"applications_systemui/product/default/navigationBar/build/default/outputs/default/default_navigationBar-phone_entry-default-unsigned.hap"
"applications_systemui/product/default/dialog/build/default/outputs/default/default_dialog-phone_entry-default-unsigned.hap"
"applications_systemui/product/default/notificationmanagement/build/default/outputs/default/default_notificationmanagement-phone_entry-default-unsigned.hap"
"applications_systemui/product/default/volumepanel/build/default/outputs/default/default_volumepanel-phone_entry-default-unsigned.hap"
"applications_systemui/entry/phone/build/default/outputs/default/phone_entry-default-unsigned.hap"
"applications_screenlock/product/phone/build/default/outputs/default/phone-entry-default-unsigned.hap"
SystemUI相关 hap 需要用统一的签名,且用镜像签名,不然不能进入系统,会卡在开机界面
2.4 重新编译
./build.sh --product-name rk3568
2.5 显示效果 (新编译的ScreenLock和launcher 会出先白边和黑边,下篇文章给出思路)


更多推荐


所有评论(0)