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 ไปยังอุปกรณ์ โดยไม่มีข้อกำหนดหรือดูแลจัดการการเผยแพร่
สิ่งต่อไปที่ควรทำ
หากคุณเพิ่งเริ่มใช้ AOSP และต้องการดูบทแนะนำเกี่ยวกับการพัฒนา AOSP โปรดดูบทแนะนำ AOSP
หากคุณเชื่อว่าอุปกรณ์ของคุณต้องใช้ร่วมกับ Android ได้ โปรดดู โปรแกรมความเข้ากันได้กับ Android
หากต้องการทราบข้อมูลเบื้องต้นเกี่ยวกับ AOSP รวมถึงการมีส่วนร่วมของ Google ในแพลตฟอร์มนี้ โปรดดูคำถามที่พบบ่อยเกี่ยวกับ AOSP