อุปกรณ์ Android เสมือนจริงของหมึกกระดอง

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