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

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

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

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

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

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

ปลาหมึกและโปรแกรมจำลอง Android

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

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

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

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

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

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

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

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

การใช้งานทั่วไปของปลาหมึกเพื่อการทดสอบได้แก่:

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

ฉันสามารถเลี้ยงปลาหมึกบนคลาวด์ได้หรือไม่?

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

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

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

,

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

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

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

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

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

ปลาหมึกและโปรแกรมจำลอง Android

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

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

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

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

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

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

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

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

การใช้งานทั่วไปของปลาหมึกเพื่อการทดสอบได้แก่:

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

ฉันสามารถเลี้ยงปลาหมึกบนคลาวด์ได้หรือไม่?

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

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

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