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 会出先白边和黑边,下篇文章给出思路

           

           

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐