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

ปลาหมึกคืออะไร?

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

เป้าหมายของปลาหมึก

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

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

เปรียบเทียบปลาหมึกกับอุปกรณ์อื่นๆ

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

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

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

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

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

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

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

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

ปลาหมึกที่ใช้กันทั่วไปในการทดสอบในปัจจุบันเป็นอย่างไร?

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

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

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

ใช่ Cuttlefish รองรับ Google Cloud โดยกำเนิดและวางแผนรองรับแพลตฟอร์มคลาวด์อื่นๆ

เริ่มต้น

ดู คู่มือเริ่มต้น สำหรับคำแนะนำเกี่ยวกับการสร้างเช่นปลาหมึกซึ่งเป็นไปตาม AOSP