อ่าน 3 นาที
แอป (รูปแบบไฟล์)
ไฟล์HarmonyOS App Packหรือ ไฟล์ Appซึ่งระบุด้วยนามสกุลไฟล์.app เป็นรูปแบบไฟล์ที่ใช้โดย ระบบปฏิบัติการ HarmonyOSโดยทำหน้าที่เป็นแอป HarmonyOS...
แอป (รูปแบบไฟล์)
ไฟล์HarmonyOS App Packหรือ ไฟล์ Appซึ่งระบุด้วยนามสกุลไฟล์.app[ 1 ] เป็นรูปแบบไฟล์ที่ใช้โดย ระบบปฏิบัติการ HarmonyOSโดยทำหน้าที่เป็นแอป HarmonyOS ดั้งเดิมสำหรับการแจกจ่ายและการติดตั้งผ่าน Huawei AppGallery หรือสำหรับการแจกจ่ายผ่าน Huawei Ability Gallery ในส่วนของแอปที่ไม่ต้องติดตั้งภายใต้ทั้งเฟรมเวิร์กคู่แบบคลาสสิกเดิมและ ระบบ HarmonyOS Next ปัจจุบัน ของเฟรมเวิร์กแอป OpenHarmony แบบรวม ไฟล์ App ยังถูกใช้โดยระบบปฏิบัติการโอเพนซอร์สอื่นๆ ที่ใช้ HarmonyOS เป็นพื้นฐาน เช่น ระบบปฏิบัติการที่ใช้ OpenHarmonyและ Oniro สำหรับการแจกจ่ายและการติดตั้งแอปพลิเคชัน วิดีโอเกม และมิดเดิลแวร์ รวมถึงระบบปฏิบัติการที่ไม่ใช้ OpenHarmony เป็นพื้นฐาน เช่น ระบบปฏิบัติการ Unity ที่ใช้ GNU Linuxซึ่งรองรับรูปแบบไฟล์แอปด้วย
| แอป | |
|---|---|
| นามสกุลไฟล์ | .app,.hap |
| พัฒนาโดย | หัวเว่ย |
| ประเภทของรูปแบบ | รูปแบบบรรจุภัณฑ์ |
| ภาชนะสำหรับ | |
| ขยายจาก | ซิป |
แอป HarmonyOS แต่ละแอปจะมีไฟล์ HarmonyOS Ability Package ( HAP ) อย่างน้อยหนึ่งไฟล์ โดยมีนามสกุลไฟล์ ".hap" และpack.infoไฟล์ที่อธิบายคุณลักษณะของไฟล์แอปนั้น ๆ
แอป HarmonyOS ส่วนใหญ่จะมีไฟล์ HAP อย่างน้อยหนึ่งไฟล์ที่เป็นประเภทรายการ ซึ่งเป็นโมดูลหลักของแอป และไฟล์ HAP เพิ่มเติมที่เป็นประเภทคุณสมบัติ ซึ่งใช้ในการใช้งานคุณสมบัติเฉพาะของแอป
ภาพรวม
ไฟล์ App Pack และ HAP
แอปพลิเคชัน HarmonyOS จะถูกแจกจ่ายในรูปแบบไฟล์แพ็กเกจซอฟต์แวร์ที่เรียกว่า App Pack หรือไฟล์ App โดยมีนามสกุล .app ต่อท้าย ซึ่งคล้ายคลึงกับแพ็กเกจซอฟต์แวร์อื่นๆ เช่นapkที่ใช้ในระบบปฏิบัติการAndroid , msiในMicrosoft Windowsหรือ แพ็กเกจ debในระบบปฏิบัติการที่ใช้ Debian เป็นพื้นฐาน
ในการสร้างแอป HarmonyOS จำเป็นต้องใช้เครื่องมือพัฒนาซอฟต์แวร์ เช่นDevEco Studioเพื่อเขียนโค้ดและบรรจุ HarmonyOS Ability Package (HAP) และไฟล์ที่เกี่ยวข้องลงในแพ็คเกจแอป[ 2 ]
ไฟล์ HAP อาจประกอบด้วยทรัพยากรไลบรารี ของบุคคลที่สาม และไฟล์การกำหนดค่าโดยแบ่งออกเป็นสองประเภท ได้แก่ โมดูลหลักและโมดูลเสริม โมดูลหลักเป็นโมดูลสำคัญที่ต้องรวมอยู่ในแพ็กเกจแอป ในขณะที่โมดูลเสริมเป็นโมดูลเพิ่มเติมสำหรับใช้งานฟีเจอร์ต่างๆ ของแอป
นอกจากนี้ ไฟล์แอปที่มีบิลด์และข้อกำหนดที่แตกต่างกันซึ่งปรับให้เหมาะสมสำหรับอุปกรณ์ต่างๆ อาจมีไฟล์ HAP มากกว่าหนึ่งไฟล์ของประเภทรายการ[ 3 ]
ในอดีต การพัฒนาฟอร์แมต HAP ผ่านมาสองเฟส เฟสแรก หลังจากคลายการบีบอัดแล้ว จะมีไฟล์ APK ที่ไม่สามารถเรียกใช้งานได้ ซึ่งทำหน้าที่เป็นทางเข้าโปรแกรมเพื่อเชื่อมต่อกับไลบรารีไฟล์ไบนารีของ AOSP เพื่อโต้ตอบกับฐาน AOSP ของ HarmonyOS 1.0.1 ที่มี API 5 สำหรับทีวี และ HarmonyOS 2.0 ที่มี API 6 สำหรับโทรศัพท์และแท็บเล็ต ซึ่งเกิดจากระบบนิเวศที่ไม่สมบูรณ์ของการพัฒนาฟอร์แมตไฟล์แอปใหม่ในช่วงแรกๆ ระหว่างเฟรมเวิร์กคู่ของ OpenHarmony L3-L5 ที่ประกอบด้วย การรวมฐาน EMUI Androidในช่วงการพัฒนาแอปในระยะแรก นักพัฒนาบุคคลที่สามได้อำนวยความสะดวกในการพัฒนาบรรจุภัณฑ์แบบผสมระหว่าง APK และ HAP [ 4 ]นับตั้งแต่มีการนำไลบรารี HAR มาใช้ใน HarmonyOS 3.1 API 9 พร้อมกับเฟรมเวิร์กการเขียนโปรแกรมแบบประกาศArkUI และ ArkTSที่พัฒนามาจาก eTS ในเวอร์ชัน 3.0 โดยใช้ภาษาการเขียนโปรแกรมหลักแทน ไบนารี Javaในขั้นตอนที่สองของ HAP ทำให้ APK ถูกกำจัดออกไปหลังจากการบีบอัดใน HarmonyOS 3.1 Developer Preview API 9 Stage model Ability และ HAP ไม่สามารถแปลงเป็น APK ได้ด้วยการแกะและบรรจุแบบง่ายๆ ดังนั้นรูปแบบไฟล์ HAP จึงไม่ใช่เคสของ APK
ก่อนที่จะบรรจุลงใน App Pack ไฟล์ HAP ได้รับอนุญาตให้ทำงานโดยตรงบนอุปกรณ์จริงหรือโปรแกรมจำลองเพื่อให้นักพัฒนาสามารถดีบักและตรวจสอบแอปในระหว่างขั้นตอนการพัฒนาได้[ 5 ]
หลังจากการพัฒนา แอปที่มีข้อมูลลายเซ็นสามารถเผยแพร่ไปยังอุปกรณ์ต่างๆ ได้โดยใช้ AppGallery Connect ซึ่งเป็นชุดเครื่องมือบริการสำหรับการสร้าง การพัฒนา การเผยแพร่ และการบำรุงรักษาแอป[ 6 ]
แพ็คเกจที่ใช้ร่วมกัน

สำหรับการแชร์โค้ดและทรัพยากรใน App Pack ระบบปฏิบัติการมีแพ็กเกจที่ใช้ร่วมกันสองประเภท ได้แก่Harmony Archive (HAR)ซึ่งเป็นแพ็กเกจที่ใช้ร่วมกันแบบคงที่ และHarmony Shared Package (HSP)ซึ่งเป็นแพ็กเกจที่ใช้ร่วมกันแบบไดนามิก[ 7 ]
ทั้ง HAR และ HSP ช่วยให้สามารถแชร์โค้ด ไลบรารี C++ ทรัพยากร และไฟล์การกำหนดค่าได้ ใน HAR โค้ดและทรัพยากรจะถูกคอมไพล์ร่วมกันโดยมีการเรียกใช้โมดูล ซึ่งอาจส่งผลให้มีโค้ดและทรัพยากรชุดเดียวกันหลายชุด ในทางตรงกันข้าม HSP อนุญาตให้คอมไพล์แบบอิสระ ทำให้มีโค้ดและทรัพยากรเพียงชุดเดียวในผลิตภัณฑ์ที่สร้างขึ้น[ 7 ]
เมื่อ HAP หลายตัวอ้างอิงถึง HAR เดียวกัน สามารถใช้ HSP แทนเพื่อแชร์ตัวแปรสถานะบางส่วนและลดขนาดของ App Pack ได้ อย่างไรก็ตาม HSP มีข้อจำกัดบางประการ เช่น ไม่รองรับการประกาศความสามารถในไฟล์การกำหนดค่า และโมดูลที่เรียกใช้จะต้องอยู่ในโมเดลขั้นตอนเดียวกันกับ HSP [ 7 ]
ในOpenHarmony 4.1 API 11 มีการปรับปรุงด้วย HSP ระดับระบบที่รองรับการอัปเกรด OTA ภายในระบบการจัดการแพ็กเกจแอป นอกจากนี้ การอัปเกรด API 11 ภายใต้ไลบรารีคลาสพื้นฐานสาธารณะยังรองรับการสร้าง Worker ภายใน HSP และ HAR ซึ่งเป็นสิ่งที่ผู้ใช้กำหนดงานและดำเนินการต่อในกระบวนการ ในขณะที่ Worker หรือ Worker หลายตัวที่รู้จักกันในชื่อThread poolจะประมวลผลงานบนเธรดอื่น วิธีการเรียกกลับจะเริ่มต้นเมื่อวิธีการพิเศษที่ให้ไว้ในการเรียกครั้งแรกถูกเรียก[ 8 ]
โครงสร้างไฟล์แอป
โครงสร้างของไฟล์แอปหลังจากสร้างและบรรจุในรูปแบบขั้นตอนมักจะประกอบด้วยไฟล์และโฟลเดอร์ต่อไปนี้[ 9 ]
entry.hapและfeature.hap: โมดูลพื้นฐานทั้งประเภทการป้อนข้อมูลและคุณสมบัติสำหรับการติดตั้งแอป ซึ่งประกอบด้วยโฟลเดอร์และไฟล์ต่อไปนี้ets: โฟลเดอร์ที่เก็บไฟล์ไบต์โค้ดที่สร้างขึ้นหลังจากการสร้างโค้ดเสร็จสิ้นlibs: โฟลเดอร์ที่เก็บไฟล์ที่จำเป็นของโมดูลหลักresources: โฟลเดอร์ที่บรรจุไฟล์ทรัพยากร เช่น กราฟิก มัลติมีเดีย ข้อความ และเค้าโครงresources.indexไฟล์ที่แสดงตารางดัชนีทรัพยากรซึ่งสร้างขึ้นเมื่อแอปพลิเคชันถูกสร้างขึ้นapp.json5และmodule.json5: ไฟล์ JSONที่มีข้อมูลการกำหนดค่าสำหรับเครื่องมือสร้าง ระบบปฏิบัติการ และตลาดแอปพลิเคชัน[ 10 ]
pack.infoไฟล์ที่อธิบายคุณลักษณะของ App Pack
ดูเพิ่มเติม
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ แอป (รูปแบบไฟล์)
ไฟล์HarmonyOS App Packหรือ ไฟล์ Appซึ่งระบุด้วยนามสกุลไฟล์.app เป็นรูปแบบไฟล์ที่ใช้โดย ระบบปฏิบัติการ HarmonyOSโดยทำหน้าที่เป็นแอป HarmonyOS...
ไฟล์ App Pack และ HAP
แอปพลิเคชัน HarmonyOS จะถูกแจกจ่ายในรูปแบบไฟล์แพ็กเกจซอฟต์แวร์ที่เรียกว่า App Pack หรือไฟล์ App โดยมีนามสกุล .
แพ็คเกจที่ใช้ร่วมกัน
สำหรับการแชร์โค้ดและทรัพยากรใน App Pack ระบบปฏิบัติการมีแพ็กเกจที่ใช้ร่วมกันสองประเภท ได้แก่ Harmony Archive (HAR) ซึ่งเป็นแพ็กเกจที่ใช้ร่วมกันแบบคงที่ และ Harmony Shared Package (HSP) ซึ่งเป็นแพ็กเกจที่ใช้ร่วมกันแบบไดนามิก [ 7 ]
โครงสร้างไฟล์แอป
โครงสร้างของไฟล์แอปหลังจากสร้างและบรรจุในรูปแบบขั้นตอนมักจะประกอบด้วยไฟล์และโฟลเดอร์ต่อไปนี้ [ 9 ]