หมึกกระดองเป็นอุปกรณ์ Android เสมือนที่กำหนดค่าได้ ซึ่งสามารถทำงานได้ทั้งจากระยะไกล (โดยใช้บริการคลาวด์ของบุคคลที่สาม เช่น Google Cloud Engine) และในเครื่อง (บนเครื่อง Linux x86 และ ARM64)
เป้าหมายของหมึกกระดอง
- ช่วยให้นักพัฒนาแพลตฟอร์มและนักพัฒนาแอปไม่จำเป็นต้องพึ่งพาฮาร์ดแวร์จริงในการพัฒนาและตรวจสอบการเปลี่ยนแปลงโค้ด
- จำลองลักษณะการทำงานตามเฟรมเวิร์กของอุปกรณ์จริงโดยเน้นความสมจริงสูง ด้วยการรักษาความสอดคล้องกับเฟรมเวิร์กหลักอย่างใกล้ชิด
- รองรับ API ทุกระดับหลังจากระดับ 28
- มอบฟังก์ชันการทำงานในระดับที่สอดคล้องกันในทุกระดับ API ซึ่งสอดคล้องกับลักษณะการทำงานบนฮาร์ดแวร์จริง
เปิดใช้การปรับขนาด
- ให้ความสามารถในการเรียกใช้อุปกรณ์หลายเครื่องพร้อมกัน
- เปิดใช้การดำเนินการทดสอบพร้อมกันที่มีความสมจริงสูงโดยมีต้นทุนเริ่มต้นที่ต่ำลง
มอบอุปกรณ์ที่กำหนดค่าได้ซึ่งมีความสามารถในการปรับรูปแบบ RAM, CPU ฯลฯ
เปรียบเทียบหมึกกระดองกับอุปกรณ์อื่นๆ
Cuttlefish และโปรแกรมจำลองของ Android
หมึกกระดองมีความคล้ายคลึงกับโปรแกรมจำลองของ Android หลายอย่าง แต่รับประกันความสมจริงเต็มรูปแบบกับเฟรมเวิร์ก Android (ไม่ว่าจะเป็น AOSP ที่ไม่มีการปรับแต่งหรือการติดตั้งใช้งานที่กำหนดเองในโครงสร้างของคุณเอง) ในการใช้งานจริง หมายความว่าคุณควรคาดหวังให้หมึกกระดองตอบสนองต่อการโต้ตอบของคุณในระดับระบบปฏิบัติการเช่นเดียวกับโทรศัพท์จริงที่สร้างขึ้นด้วยซอร์สโค้ดระบบปฏิบัติการ Android ที่มีการปรับแต่งหรือไม่มีการปรับแต่งเหมือนกัน
โปรแกรมจำลองของ Android สร้างขึ้นโดยเน้น Use Case ที่ทำให้การพัฒนาแอปเป็นเรื่องง่าย และมี Hook การทำงานมากมายที่ดึงดูด Use Case ของนักพัฒนาแอป Android ซึ่งอาจเป็นเรื่องท้าทายหากคุณต้องการสร้างโปรแกรมจำลองด้วยเฟรมเวิร์ก Android ที่ปรับแต่งเอง หากคุณต้องการอุปกรณ์เสมือนจริงที่จะแสดงถึงโค้ดแพลตฟอร์ม/เฟรมเวิร์กที่กำหนดเองหรือ Android เวอร์ชันล่าสุด Cuttlefish จะเป็นตัวเลือกเสมือนที่เหมาะอย่างยิ่ง เนื่องจากเป็นอุปกรณ์มาตรฐานสำหรับการแสดงสถานะปัจจุบันของการพัฒนา AOSP
หมึกกระดองและอุปกรณ์จริง
ความแตกต่างหลักระหว่างอุปกรณ์เสมือนจริง Cuttlefish กับอุปกรณ์จริงอยู่ที่ระดับชั้นการจัดการฮาร์ดแวร์โดยตรง (HAL) รวมถึงซอฟต์แวร์ใดๆ ที่โต้ตอบกับฮาร์ดแวร์ที่กำหนดเอง คุณควรคาดหวังลักษณะการทำงานที่เทียบเท่ากันในเชิงฟังก์ชันระหว่างหมึกกระดองกับอุปกรณ์จริง ยกเว้นการติดตั้งใช้งานเฉพาะฮาร์ดแวร์
หมึกกระดองช่วยได้อย่างไร
คุณสามารถโต้ตอบกับหมึกกระดองได้เช่นเดียวกับอุปกรณ์ Android อื่นๆ ที่คุณอาจใช้สำหรับการแก้ไขข้อบกพร่อง อุปกรณ์จะลงทะเบียนตัวเองเป็นอุปกรณ์ปกติผ่าน adb และคุณสามารถโต้ตอบกับอุปกรณ์ได้เหมือนอุปกรณ์จริงผ่านเดสก์ท็อประยะไกล Use Case มีหลากหลายและครอบคลุมการทดสอบแอป การทดสอบบิวด์ระบบที่กำหนดเอง และอื่นๆ
เนื่องจากหมึกกระดองมุ่งมั่นที่จะมอบความสมจริงของเฟรมเวิร์กอย่างเต็มรูปแบบ จึงสามารถใช้สำหรับการทดสอบฟังก์ชันการทำงานของเฟรมเวิร์กหรือแอปในกรณีที่ไม่มีการพึ่งพาฮาร์ดแวร์จริงที่เลียนแบบได้ยาก
ปัจจุบันมีการใช้หมึกกระดองสำหรับการทดสอบอย่างไรบ้าง
แอปพลิเคชันทั่วไปบางอย่างของหมึกกระดองสำหรับการทดสอบ ได้แก่
- CTS
- การปฏิบัติตามข้อกำหนดของเฟรมเวิร์ก
- การทดสอบการรวมอย่างต่อเนื่อง
- ชุดการทดสอบที่กำหนดเอง
ฉันจะโฮสต์หมึกกระดองในระบบคลาวด์ได้ไหม
ได้ หมึกกระดองรองรับ Google Cloud โดยกำเนิด และเราวางแผนที่จะรองรับแพลตฟอร์มคลาวด์อื่นๆ ด้วย
เริ่มต้นใช้งาน
ดูคำแนะนำเกี่ยวกับการสร้างอินสแตนซ์หมึกกระดองตาม AOSP ได้ที่ ใช้หมึกกระดอง