diff --git a/recipes-openharmony/openharmony/openharmony-standard_3.0.bb b/recipes-openharmony/openharmony/openharmony-standard_3.0.bb
index cd083d21f7f953228f10a3b4b3540f8a27a96f19..361d9bc7e50a4186acc84a7591304f1140d70c10 100644
--- a/recipes-openharmony/openharmony/openharmony-standard_3.0.bb
+++ b/recipes-openharmony/openharmony/openharmony-standard_3.0.bb
@@ -1974,4 +1974,19 @@ INSANE_SKIP:${PN} += "already-stripped"
 inherit useradd
 
 USERADD_PACKAGES = "${PN}"
-USERADD_PARAM:${PN} = "-u 1000 -U -s /bin/sh system"
\ No newline at end of file
+USERADD_PARAM:${PN} = "-u 1000 -U -s /bin/sh system"
+
+# system haps
+PACKAGES =+ "${PN}-systemhaps"
+do_install:append() {
+    install -m 777 -d ${D}/system/app
+    install -m 666 ${S}/applications/standard/hap/Launcher.hap ${D}/system/app
+    install -m 666 ${S}/applications/standard/hap/SystemUI-NavigationBar.hap ${D}/system/app
+    install -m 666 ${S}/applications/standard/hap/SystemUI-StatusBar.hap ${D}/system/app
+    install -m 666 ${S}/applications/standard/hap/SystemUI-SystemDialog.hap ${D}/system/app
+    install -m 666 ${S}/applications/standard/hap/Settings.hap ${D}/system/app
+}
+FILES:${PN}-systemhaps = " \
+    /system/app/* \
+"
+RDEPENDS:${PN} += "${PN}-systemhaps"