Cuttlefish เป็นอุปกรณ์ Android เสมือนที่กำหนดค่าได้ ซึ่งสามารถทำงานได้ทั้งจากระยะไกล (โดยใช้บริการระบบคลาวด์ของบุคคลที่สาม เช่น Google Cloud Engine) และจากเครื่องในระบบ (ในเครื่อง Linux x86 และ ARM64)
เป้าหมายหมึกกระดอง
- ช่วยให้นักพัฒนาแพลตฟอร์มและแอปไม่ต้องพึ่งพาฮาร์ดแวร์จริงในการพัฒนาและตรวจสอบการเปลี่ยนแปลงโค้ด
- จำลองลักษณะการทำงานตามเฟรมเวิร์กของอุปกรณ์จริงโดยมุ่งเน้นที่ความถูกต้องสูงด้วยการคงแนวเดียวกับเฟรมเวิร์กหลัก
- รองรับ API ระดับ 28 ขึ้นไปทั้งหมด
- ให้ฟังก์ชันการทำงานในระดับที่สอดคล้องกันในทุกระดับ API โดยสอดคล้องกับลักษณะการทำงานบนฮาร์ดแวร์จริง
เปิดใช้การปรับขนาด
- ช่วยให้สามารถเรียกใช้อุปกรณ์หลายเครื่องพร้อมกันได้
- เปิดใช้การทดสอบแบบพร้อมกันที่ให้ความเที่ยงตรงสูงโดยมีต้นทุนการเริ่มต้นใช้งานต่ำ
ให้บริการอุปกรณ์ที่กำหนดค่าได้ซึ่งสามารถปรับรูปแบบของอุปกรณ์, RAM, CPU และอื่นๆ
เปรียบเทียบหมึกกระดองกับอุปกรณ์อื่นๆ
Cuttlefish และโปรแกรมจำลอง Android
Android Emulator มีความคล้ายคลึงกันหลายอย่าง แต่ Cuttlefish ขอรับประกันว่าเฟรมเวิร์ก Android จะมีความแม่นยำอย่างเต็มที่ (ไม่ว่าจะเป็น AOSP เพียงอย่างเดียวหรือการติดตั้งที่กำหนดเองในโครงสร้างของคุณเอง) ในแอปพลิเคชันในชีวิตจริง หมายความว่าคุณควรคาดหวังให้ Cuttlefish ตอบสนองต่อการโต้ตอบของคุณที่ระดับระบบปฏิบัติการเช่นเดียวกับเป้าหมายโทรศัพท์จริงที่สร้างด้วยแหล่งที่มาของระบบปฏิบัติการ Android ที่ปรับแต่งหรือเวอร์ชันบริสุทธิ์เดียวกัน
โปรแกรมจำลอง Android สร้างขึ้นเพื่อ Use Case ที่ว่าการพัฒนาแอปเป็นเรื่องง่าย และมีฮุกฟังก์ชันการทำงานมากมายเพื่อดึงดูด Use Case ของนักพัฒนาแอป Android ซึ่งอาจทำให้เกิดปัญหาหากคุณต้องการสร้างโปรแกรมจำลองด้วยเฟรมเวิร์ก Android ที่กําหนดเอง หากต้องการอุปกรณ์เสมือนจริงที่จะแสดงถึงโค้ดแพลตฟอร์ม/เฟรมเวิร์กที่กำหนดเองหรือ Android เวอร์ชันล่าสุด Cuttlefish คือตัวเลือกเสมือนจริงที่เหมาะที่สุด ซึ่งเป็นอุปกรณ์หลักที่แสดงสถานะปัจจุบันของการพัฒนา AOSP
หมึกกระดองและอุปกรณ์จริง
ความแตกต่างหลักระหว่างอุปกรณ์เสมือน Cuttlefish กับอุปกรณ์จริงอยู่ที่ระดับเลเยอร์การแยกแยะฮาร์ดแวร์ (HAL) รวมถึงซอฟต์แวร์ใดๆ ที่โต้ตอบกับฮาร์ดแวร์ที่กำหนดเอง คุณควรคาดหวังว่า Cuttlefish และอุปกรณ์จริงจะทำงานได้อย่างเท่าเทียมกัน ยกเว้นการติดตั้งใช้งานเฉพาะฮาร์ดแวร์
Cuttlefish จะช่วยคุณได้อย่างไร
คุณสามารถโต้ตอบกับ Cuttlefish ได้เช่นเดียวกับอุปกรณ์ Android เครื่องอื่นๆ ที่คุณอาจใช้แก้ไขข้อบกพร่อง อุปกรณ์จะลงทะเบียนตัวเองเป็นอุปกรณ์ปกติผ่านทาง adb และคุณสามารถโต้ตอบกับอุปกรณ์ดังกล่าวได้เหมือนอุปกรณ์จริงผ่านทางเดสก์ท็อประยะไกล กรณีการใช้งานนั้นกว้างและครอบคลุมการทดสอบแอป การทดสอบการสร้างระบบที่กำหนดเอง และอีกมากมาย
เนื่องจาก Cuttlefish มุ่งมั่นที่จะทําให้เฟรมเวิร์กมีความถูกต้องสมบูรณ์ จึงสามารถใช้เพื่อทดสอบฟังก์ชันการทํางานของเฟรมเวิร์กหรือแอปที่ไม่มีข้อกําหนดของฮาร์ดแวร์จริงซึ่งจําลองไม่ได้
Cuttlefish มักใช้ในการทดสอบอย่างไรในปัจจุบัน
การใช้งาน Cuttlefish ทั่วไปสำหรับการทดสอบ ได้แก่
- CTS
- การปฏิบัติตามข้อกำหนดของเฟรมเวิร์ก
- การทดสอบการผสานรวมอย่างต่อเนื่อง
- ชุดทดสอบที่กําหนดเอง
ฉันจะโฮสต์ Cuttlefish ในระบบคลาวด์ได้ไหม
ใช่ Cuttlefish รองรับ Google Cloud โดยกำเนิดและเราวางแผนที่จะรองรับแพลตฟอร์มระบบคลาวด์อื่นๆ ด้วย
เริ่มต้นใช้งาน
ดูคําแนะนําในการสร้างอินสแตนซ์ Cuttlefish ตาม AOSP ได้ที่หัวข้อใช้ Cuttlefish