อุปกรณ์ Android เสมือนปลาหมึก

Cuttlefish เป็นอุปกรณ์ Android เสมือนที่กำหนดค่าได้ซึ่งสามารถทำงานได้ทั้งจากระยะไกล (โดยใช้ข้อเสนอระบบคลาวด์ของบุคคลที่สาม เช่น Google Cloud Engine) และในเครื่อง (บนเครื่อง Linux x86)

เป้าหมายปลาหมึก

  • ปลดปล่อยแพลตฟอร์มและนักพัฒนาแอพจากการพึ่งพาฮาร์ดแวร์ทางกายภาพเพื่อพัฒนาและตรวจสอบความถูกต้องของการเปลี่ยนแปลงรหัส
  • ทำซ้ำลักษณะการทำงานตามเฟรมเวิร์กของอุปกรณ์จริงโดยเน้นที่ ความเที่ยงตรงสูง โดยรักษาความสอดคล้องอย่างใกล้ชิดกับเฟรมเวิร์กหลัก
  • รองรับ API ทุกระดับหลังจากวันที่ 28
  • ให้ระดับการทำงาน ที่สอดคล้องกัน ในระดับ API ซึ่งสอดคล้องกับลักษณะการทำงานบนฮาร์ดแวร์จริง
  • เปิดใช้งานมาตราส่วน:

    • ให้ความสามารถในการเรียกใช้อุปกรณ์หลายเครื่องพร้อมกัน
    • เปิดใช้งานการดำเนินการทดสอบพร้อมกันด้วยความเที่ยงตรงสูงด้วยต้นทุนที่ต่ำลง
  • จัดเตรียมอุปกรณ์ที่กำหนดค่าได้ด้วยความสามารถในการปรับฟอร์มแฟคเตอร์, RAM, CPU และอื่นๆ

เปรียบเทียบ Cuttlefish กับอุปกรณ์อื่นๆ

ปลาหมึกและ Android Emulator

มีความคล้ายคลึงกันหลายอย่างกับ Android Emulator แต่ Cuttlefish รับประกันความเที่ยงตรงเต็มรูปแบบด้วยเฟรมเวิร์ก Android (ไม่ว่าจะเป็น AOSP แท้หรือการใช้งานแบบกำหนดเองในแผนผังของคุณเอง) ในแอปพลิเคชันในโลกแห่งความเป็นจริง หมายความว่าคุณควรคาดหวังให้ Cuttlefish ตอบสนองต่อการโต้ตอบของคุณที่ระดับระบบปฏิบัติการ เช่นเดียวกับเป้าหมายโทรศัพท์จริงที่สร้างด้วยแหล่งที่มาของระบบปฏิบัติการ Android ที่ปรับแต่งเองหรือบริสุทธิ์เหมือนกัน

Android Emulator สร้างขึ้นจากกรณีการใช้งานที่ทำให้การพัฒนาแอปพลิเคชันเป็นเรื่องง่าย และมีตะขอการทำงานมากมายเพื่อดึงดูดกรณีการใช้งานของนักพัฒนาแอป Android นี่อาจเป็นความท้าทายหากคุณต้องการสร้างอีมูเลเตอร์ด้วยเฟรมเวิร์ก Android ที่คุณกำหนดเอง หากคุณต้องการอุปกรณ์เสมือนจริงที่จะเป็นตัวแทนของแพลตฟอร์ม/รหัสเฟรมเวิร์กที่คุณกำหนดเองหรือ Android ที่ยอดเยี่ยม Cuttlefish คือตัวเลือกเสมือนจริงในอุดมคติ เป็นอุปกรณ์มาตรฐานสำหรับแสดงสถานะปัจจุบันของการพัฒนา AOSP

ปลาหมึกและอุปกรณ์ทางกายภาพ

ความแตกต่างหลักระหว่างอุปกรณ์เสมือน Cuttlefish และอุปกรณ์จริงของคุณอยู่ที่ระดับฮาร์ดแวร์ Abstraction Layer (HAL) เช่นเดียวกับซอฟต์แวร์ใดๆ ที่โต้ตอบกับฮาร์ดแวร์แบบกำหนดเองใดๆ ยกเว้นการใช้งานเฉพาะฮาร์ดแวร์ คุณควรคาดหวังการทำงานที่เทียบเท่ากันระหว่าง Cuttlefish และอุปกรณ์จริง

ปลาหมึกช่วยได้อย่างไร?

คุณสามารถโต้ตอบกับ Cuttlefish ได้เหมือนกับที่คุณทำกับอุปกรณ์ Android อื่นๆ ที่คุณอาจใช้ในการแก้ไขจุดบกพร่อง มันจะลงทะเบียนตัวเองเป็นอุปกรณ์ปกติผ่าน adb และคุณสามารถโต้ตอบกับมันได้เหมือนอุปกรณ์จริงผ่านเดสก์ท็อประยะไกล กรณีการใช้งานกว้างและสามารถครอบคลุมการทดสอบแอปพลิเคชัน การทดสอบการสร้างระบบที่กำหนดเอง และอื่นๆ

เนื่องจาก Cuttlefish มุ่งมั่นเพื่อความเที่ยงตรงของเฟรมเวิร์กเต็มรูปแบบ จึงสามารถใช้ทดสอบการทำงานของเฟรมเวิร์กและ/หรือแอปพลิเคชันของคุณที่ไม่มีการพึ่งพาฮาร์ดแวร์ทางกายภาพซึ่งไม่สามารถเลียนแบบได้

Cuttlefish มักใช้สำหรับการทดสอบอย่างไรในปัจจุบัน

การใช้งานทั่วไปของ Cuttlefish สำหรับการทดสอบ ได้แก่ :

  • ซี.ที.เอส
  • การปฏิบัติตามกรอบ
  • การทดสอบการรวมอย่างต่อเนื่อง
  • ชุดทดสอบแบบกำหนดเอง

ฉันสามารถโฮสต์ปลาหมึกบนคลาวด์ได้หรือไม่?

ใช่ Cuttlefish รองรับ Google Cloud อยู่แล้วและมีแผนจะรองรับแพลตฟอร์มคลาวด์อื่นๆ

เริ่มต้นใช้งาน

สำหรับคำแนะนำในการสร้างอินสแตนซ์ Cuttlefish ตาม AOSP โปรดดูที่ Use Cuttlefish