ภาพรวม AOSP

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

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

เอกสารประกอบส่วนนี้ช่วยให้นักพัฒนาแอป AOSP รายใหม่สามารถเริ่มต้นใช้งานแพลตฟอร์มและดำเนินงานที่สำคัญด้านการพัฒนาได้

คำที่จำเป็น

ต่อไปนี้คือรายการคำศัพท์และคำจำกัดความที่ใช้ทั่วทั้งเอกสารเริ่มต้นใช้งาน คุณควรศึกษาคําจํากัดความแต่ละรายการก่อนดำเนินการต่อ

นักพัฒนาแอป Android

นักพัฒนาแอป Android จะเขียนแอป Android หรือแอปพลิเคชันที่ทำงานบน Android นักพัฒนาแอปแบ่งออกเป็น 2 ประเภท ได้แก่ นักพัฒนาแอปบุคคลที่หนึ่ง (1p) และนักพัฒนาแอปบุคคลที่สาม (3p)

นักพัฒนาแอปบุคคลที่หนึ่ง Android
นักพัฒนาแอป Android ที่มีสิทธิ์เข้าถึง AOSP System API และเขียนแอปที่มีสิทธิ์และแอปของผู้ผลิตอุปกรณ์
นักพัฒนาแอปบุคคลที่สามของ Android
นักพัฒนาแอป Android ที่ใช้ SDK สาธารณะของ Android เพียงอย่างเดียวในการสร้างแอป Android

หากต้องการพัฒนาแอปของบุคคลที่สามสำหรับ Android โปรดดูหัวข้อ developers.android.com ข้อมูลในเว็บไซต์นี้มีไว้สำหรับผู้ที่ทำงานร่วมกับ AOSP โดยตรงเท่านั้น

Android Debug Bridge (adb)
เครื่องมือบรรทัดคำสั่ง (adb) ที่ช่วยให้เวิร์กสเตชันสื่อสารกับอุปกรณ์เสมือนจริง อุปกรณ์จำลองซอฟต์แวร์ หรืออุปกรณ์จริงได้
อุปกรณ์ที่ใช้ร่วมกับ Android ได้
อุปกรณ์ที่เรียกใช้แอปของบุคคลที่สามซึ่งเขียนโดยนักพัฒนาแอปบุคคลที่สามโดยใช้ Android SDK และ NDK ได้ อุปกรณ์ที่ใช้งานร่วมกับ Android ได้ต้องเป็นไปตามข้อกำหนดของเอกสารนิยามความเข้ากันได้ (CDD) และผ่านชุดเครื่องมือทดสอบความเข้ากันได้ (CTS) อุปกรณ์ที่เข้ากันได้กับ Android จะมีสิทธิ์เข้าร่วมในระบบนิเวศของ Android ซึ่งรวมถึงการอนุญาตให้ใช้สิทธิสำหรับ Android Play Store, การอนุญาตให้ใช้สิทธิสำหรับชุดแอปพลิเคชันและ API ของ Google Mobile Services (GMS) และการใช้เครื่องหมายการค้า Android ทุกคนสามารถใช้ซอร์สโค้ด Android ได้ แต่อุปกรณ์ต้องใช้งานร่วมกับ Android ได้จึงจะถือว่าเป็นส่วนหนึ่งของระบบนิเวศ Android ดูข้อมูลเพิ่มเติมเกี่ยวกับความเข้ากันได้และ CTS ได้ที่ภาพรวมโปรแกรมความเข้ากันได้กับ Android
เอกสารนิยามความเข้ากันได้ (CDD)
เอกสารที่ระบุข้อกำหนดด้านซอฟต์แวร์และฮาร์ดแวร์สำหรับอุปกรณ์ที่เข้ากันได้กับ Android
ผู้เขียน

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

Google จำกัดประเภทโค้ดที่ยอมรับ ตัวอย่างเช่น คุณอาจต้องการให้ API แอปพลิเคชันอื่น อย่างเช่นสภาพแวดล้อมที่ใช้ C++ เต็มรูปแบบ Google จะปฏิเสธการมีส่วนร่วมดังกล่าวเนื่องจาก Android ส่งเสริมให้แอปพลิเคชันทำงานในรันไทม์ ART ในทํานองเดียวกัน Google ไม่ยอมรับการมีส่วนร่วม เช่น ไลบรารี GPL หรือ LGPL ที่ใช้ร่วมกับเป้าหมายการออกใบอนุญาตไม่ได้

หากสนใจมีส่วนร่วมในซอร์สโค้ด โปรดติดต่อ Google ก่อนเริ่มทำงาน

ชุดทดสอบความเข้ากันได้ (CTS)

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

ปลาหมึกกระดอง

อุปกรณ์ที่ใช้ระบบ Android เสมือนที่กำหนดค่าได้ซึ่งทำงานจากระยะไกลได้โดยใช้ข้อเสนอระบบคลาวด์ของบุคคลที่สาม เช่น Google Cloud Engine และในเครื่อง Linux x86

นักพัฒนาแอป

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

บริการของ Google Mobile (GMS)

คอลเล็กชันแอปและ API ของ Google ที่ติดตั้งล่วงหน้าในอุปกรณ์ได้

Target

การเปลี่ยนรูปแบบของอุปกรณ์ เช่น รุ่นหรือรูปแบบที่เฉพาะเจาะจง ตัวอย่างเช่น aosp_cf_x86_64_phone-userdebug แสดงถึงโทรศัพท์ x86 ขนาด 65 MB ที่มีข้อมูลการแก้ไขข้อบกพร่องซึ่งออกแบบมาเพื่อใช้งานบนโปรแกรมจำลอง Cuttlefish

ปรัชญาการกํากับดูแล

กลุ่มบริษัทซึ่งรู้จักกันในชื่อ Open Handset Alliance (OHA) ที่นำโดย Google ซึ่งริเริ่มมาจาก Android ปัจจุบันบริษัทหลายแห่ง ทั้งสมาชิกเดิมของ OHA และบริษัทอื่นๆ ได้ลงทุนอย่างหนักใน Android บริษัทเหล่านี้ได้จัดสรรทรัพยากรด้านวิศวกรรมที่สำคัญเพื่อปรับปรุง Android และนำอุปกรณ์ Android ออกสู่ตลาด

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

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

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

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