Android คือระบบปฏิบัติการสำหรับอุปกรณ์หลากหลายประเภทที่มีรูปแบบของอุปกรณ์ต่างๆ กัน เอกสารประกอบและซอร์สโค้ดสำหรับ Android พร้อมให้บริการแก่ทุกคนในรูปแบบโครงการโอเพนซอร์ส Android (AOSP) คุณใช้ AOSP เพื่อสร้างตัวแปรที่กำหนดเองของระบบปฏิบัติการ Android สำหรับอุปกรณ์ของคุณเองได้
AOSP ออกแบบมาเพื่อให้ไม่มีจุดล้มเหลวส่วนกลาง ซึ่งผู้เล่นในอุตสาหกรรมรายหนึ่งจำกัดหรือควบคุมนวัตกรรมของอีกราย ดังนั้น AOSP จึงเป็นผลิตภัณฑ์สำหรับนักพัฒนาแอปที่มีคุณภาพระดับการใช้งานจริงอย่างเต็มรูปแบบ โดยมีซอร์สโค้ดแบบเปิดสำหรับการ ปรับแต่งและการพอร์ต
ส่วนนี้ของเอกสารประกอบจะช่วยให้นักพัฒนาแอป AOSP รายใหม่เริ่มต้นใช้งาน แพลตฟอร์มและทำงานด้านการพัฒนาที่จำเป็นได้
ข้อกำหนดที่จำเป็น
ต่อไปนี้คือรายการคำศัพท์และคำจำกัดความที่ใช้ในเอกสารประกอบการเริ่มต้นใช้งาน คุณควรอ่านคำจำกัดความแต่ละข้อก่อนดำเนินการต่อ
- นักพัฒนาแอป Android
นักพัฒนาแอป Android เขียนแอป Android หรือแอปพลิเคชันที่ทำงานบน Android นักพัฒนาแอปมี 2 ประเภท ได้แก่ นักพัฒนาแอปบุคคลที่หนึ่ง (1p) และนักพัฒนาแอปบุคคลที่สาม (3p)
- นักพัฒนาแอปบุคคลที่หนึ่งของ Android
- นักพัฒนาแอป Android ที่มีสิทธิ์เข้าถึง System API ของ AOSP และเขียน แอปที่มีสิทธิ์และแอปของผู้ผลิตอุปกรณ์
- นักพัฒนาแอป Android ของบุคคลที่สาม
- นักพัฒนาแอป Android ที่ใช้ SDK สาธารณะของ Android เพียงอย่างเดียวเพื่อสร้าง แอป Android
หากต้องการพัฒนาแอปของบุคคลที่สามสำหรับ Android โปรดดูdeveloper.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_only_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