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