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