ภาพรวมสถาปัตยกรรม

โครงการโอเพนซอร์ส Android (AOSP) พร้อมใช้งานแบบสาธารณะและแก้ไขได้ ซอร์สโค้ด Android ทุกคนจะดาวน์โหลดและแก้ไข AOSP ในอุปกรณ์ได้ AOSP ติดตั้งใช้งานอุปกรณ์เคลื่อนที่ Android ได้อย่างสมบูรณ์และมีฟังก์ชันการทำงานเต็มรูปแบบ ที่มีการจัดการครบวงจรได้เลย

อุปกรณ์ที่ใช้ AOSP จะมีความเข้ากันได้อยู่ 2 ระดับด้วยกัน ได้แก่ AOSP และความเข้ากันได้ของ Android อุปกรณ์ที่เข้ากันได้กับ AOSP ต้อง สอดคล้องกับรายการข้อกำหนดใน เอกสารคำจำกัดความความเข้ากันได้ (CDD) CANNOT TRANSLATE อุปกรณ์ที่เข้ากันได้กับ Android ต้องเป็นไปตามรายการข้อกำหนดใน CDD และข้อกำหนดของซอฟต์แวร์ของผู้ให้บริการ (VSR) และการทดสอบต่างๆ อย่างเช่นใน ชุดทดสอบของผู้ให้บริการ (VTS) และ ความเข้ากันได้ของชุดทดสอบ (CTS) สำหรับข้อมูลเพิ่มเติม เกี่ยวกับความเข้ากันได้กับ Android โปรดดู โปรแกรมความเข้ากันได้กับ Android

สถาปัตยกรรม AOSP

สแต็กซอฟต์แวร์สำหรับ AOSP มีเลเยอร์ต่อไปนี้

สถาปัตยกรรมสแต็กซอฟต์แวร์ AOSP

รูปที่ 1 สถาปัตยกรรมสแต็กซอฟต์แวร์ AOSP

ต่อไปนี้เป็นรายการคำนิยามของคำศัพท์ที่ใช้ในรูปที่ 1:

แอป Android
แอปที่สร้างขึ้นโดยใช้ Android API เพียงอย่างเดียว Google Play Store นั้นใช้กันอย่างแพร่หลายเพื่อค้นหาและดาวน์โหลดแอป Android แม้ว่าจะมี ทางเลือกอื่นๆ อีกมากมาย ในบางกรณี ผู้ผลิตอุปกรณ์อาจต้องการ ติดตั้งแอป Android ล่วงหน้าเพื่อรองรับฟังก์ชันหลักของอุปกรณ์ ถ้า ที่คุณสนใจในการพัฒนาแอป Android โปรดดู developers.android.com
แอปที่ได้รับสิทธิ์
แอปที่สร้างขึ้นโดยใช้ทั้ง Android และ API ของระบบ แอปเหล่านี้ ต้องติดตั้งล่วงหน้าเป็นแอปที่ได้รับสิทธิ์ในอุปกรณ์
แอปผู้ผลิตอุปกรณ์
แอปที่สร้างขึ้นโดยใช้ทั้ง Android API, API ของระบบ และแอปโดยตรง เข้าถึงการปรับใช้เฟรมเวิร์ก Android เนื่องจากผู้ผลิตอุปกรณ์ อาจเข้าถึง API ที่ไม่เสถียรโดยตรงภายในเฟรมเวิร์ก Android แอปเหล่านี้ บนอุปกรณ์ และจะอัปเดตได้ก็ต่อเมื่อ มีการอัปเดตซอฟต์แวร์ระบบ
API ระบบ
System API แสดงถึง Android API ที่พร้อมให้บริการแก่พาร์ทเนอร์เท่านั้นและ OEM สำหรับการรวมไว้ในแอปพลิเคชันแบบพ่วง API เหล่านี้มีการทำเครื่องหมายเป็น @SystemApi ในซอร์สโค้ด
API ของ Android
Android API คือ API ที่เผยแพร่ต่อสาธารณะสำหรับแอป Android ของบุคคลที่สาม สำหรับข้อมูลเกี่ยวกับ Android API โปรดดู เอกสารอ้างอิง Android API
เฟรมเวิร์ก Android
กลุ่มของคลาส อินเทอร์เฟซ และโค้ดที่คอมไพล์ไว้ล่วงหน้าอื่นๆ ของ Java ของ Google ขึ้นมา ส่วนหนึ่งของเฟรมเวิร์กสามารถเข้าถึงได้โดยบุคคลทั่วไปผ่าน การใช้ Android API ส่วนอื่นๆ ของกรอบความคิดคือ ใช้ได้เฉพาะกับ OEM ผ่านการใช้ API ของระบบ Android โค้ดเฟรมเวิร์กจะทำงานภายในกระบวนการของแอป
บริการของระบบ
บริการของระบบเป็นคอมโพเนนต์ที่มุ่งเน้นและแยกเป็นโมดูล เช่น system_server SurfaceFlinger และ MediaService ฟังก์ชันการทำงานที่แสดงโดย Android Framework API สื่อสารกับบริการของระบบเพื่อเข้าถึงฮาร์ดแวร์ที่จำเป็น
รันไทม์ของ Android (ART)
สภาพแวดล้อมรันไทม์ของ Java มาจาก AOSP ART ดำเนินการ การเปลี่ยนไบต์โค้ดของแอปเป็นวิธีการเฉพาะโปรเซสเซอร์ ที่ดำเนินการโดยสภาพแวดล้อมรันไทม์ของอุปกรณ์
ชั้นการจัดการฮาร์ดแวร์ (HAL)
HAL คือชั้นกระบวนการแอบสแตรกต์ที่มีอินเทอร์เฟซมาตรฐานสำหรับผู้ให้บริการฮาร์ดแวร์ เพื่อนำไปปฏิบัติ HAL ช่วยให้ Android ไม่จำเป็นต้องสนใจไดรเวอร์ระดับล่าง การนำไปใช้งานจริง การใช้ HAL ช่วยให้คุณใช้ฟังก์ชันต่างๆ ได้โดยไม่ต้อง ส่งผลต่อหรือปรับเปลี่ยนระบบในระดับที่สูงกว่า สำหรับข้อมูลเพิ่มเติม โปรดดูภาพรวม HAL
ดีมอนดั้งเดิมและไลบรารี

ดีมอนดั้งเดิมในเลเยอร์นี้รวมถึง init, healthd, logd และ storaged Daemon เหล่านี้โต้ตอบกับเคอร์เนลหรืออินเทอร์เฟซอื่นๆ โดยตรง และไม่ขึ้นอยู่กับการใช้งาน HAL ตามพื้นที่ผู้ใช้

ไลบรารีเนทีฟในเลเยอร์นี้ ได้แก่ libc, liblog, libutils, libbinder และ libselinux ไลบรารีเนทีฟเหล่านี้จะโต้ตอบกับ เคอร์เนลหรืออินเทอร์เฟซอื่นๆ และไม่ขึ้นอยู่กับ HAL ตามพื้นที่ผู้ใช้ การใช้งานของคุณ

เคอร์เนล

เคอร์เนลคือส่วนสำคัญของระบบปฏิบัติการใดๆ และเป็นการสื่อสารไปยัง ฮาร์ดแวร์ที่จำเป็นในอุปกรณ์ ระบบจะแยกเคอร์เนล AOSP หากเป็นไปได้ เป็นโมดูลที่ไม่จำเป็นต้องใช้ได้กับฮาร์ดแวร์และโมดูลเฉพาะผู้ให้บริการ สำหรับคำอธิบาย รวมถึงคำจำกัดความของคอมโพเนนต์เคอร์เนล AOSP อ้างอิงถึง ภาพรวมเคอร์เนล

สิ่งต่อไปที่ควรทำ

  • หากคุณเพิ่งเริ่มใช้ AOSP และต้องการเริ่มต้นการพัฒนา โปรดดู ส่วนเริ่มต้นใช้งาน
  • หากต้องการดูข้อมูลเพิ่มเติมเกี่ยวกับ AOSP เลเยอร์ที่เฉพาะเจาะจง ให้คลิก ในการนำทางด้านซ้าย และเริ่มต้นด้วยภาพรวมของส่วนนั้น