ภาพรวม AOSP

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

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

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

คำที่จำเป็น

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

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

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

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

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

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

หมึกกระดอง

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

นักพัฒนาซอฟต์แวร์

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

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

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

Target

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

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

กลุ่มบริษัทซึ่งรู้จักกันในชื่อ 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 ไปยังอุปกรณ์ โดยไม่มีข้อกำหนดหรือดูแลจัดการการเผยแพร่

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