ตั้งแต่วันที่ 27 มีนาคม 2025 เป็นต้นไป เราขอแนะนำให้ใช้ android-latest-release
แทน aosp-main
เพื่อสร้างและมีส่วนร่วมใน AOSP โปรดดูข้อมูลเพิ่มเติมที่หัวข้อการเปลี่ยนแปลงใน AOSP
อุปกรณ์ Android เสมือนของ Cuttlefish
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
Cuttlefish เป็นอุปกรณ์ Android เสมือนที่กำหนดค่าได้ ซึ่งสามารถทำงานได้ทั้งจากระยะไกล (โดยใช้ข้อเสนอระบบคลาวด์ของบุคคลที่สาม เช่น Google Cloud Engine) และจากเครื่องในระบบ (ในเครื่อง Linux x86 และ ARM64)
เป้าหมายของ Cuttlefish
เปรียบเทียบ Cuttlefish กับอุปกรณ์อื่นๆ
Cuttlefish และโปรแกรมจำลอง Android
Cuttlefish มีความคล้ายคลึงกับโปรแกรมจำลอง Android หลายประการ แต่ Cuttlefish รับประกันความถูกต้องสมบูรณ์กับเฟรมเวิร์ก Android (ไม่ว่าจะเป็น AOSP ล้วนๆ หรือการติดตั้งใช้งานที่กําหนดเองในต้นไม้ของคุณเอง) ในแอปพลิเคชันในชีวิตจริง หมายความว่าคุณควรคาดหวังให้ Cuttlefish ตอบสนองต่อการโต้ตอบของคุณที่ระดับระบบปฏิบัติการเช่นเดียวกับเป้าหมายโทรศัพท์จริงที่สร้างจากแหล่งที่มาของระบบปฏิบัติการ Android ที่ปรับแต่งหรือเวอร์ชันบริสุทธิ์เดียวกัน
โปรแกรมจำลอง Android สร้างขึ้นเพื่อ Use Case ที่ว่าการพัฒนาแอปเป็นเรื่องง่าย และมีฮุกฟังก์ชันการทำงานมากมายเพื่อดึงดูด Use Case ของนักพัฒนาแอป Android ซึ่งอาจทำให้เกิดปัญหาหากคุณต้องการสร้างโปรแกรมจำลองด้วยเฟรมเวิร์ก Android ที่กําหนดเอง หากต้องการอุปกรณ์เสมือนจริงที่จะแสดงถึงโค้ดแพลตฟอร์ม/เฟรมเวิร์กที่กำหนดเองหรือ Android เวอร์ชันล่าสุด Cuttlefish คือตัวเลือกเสมือนจริงที่เหมาะที่สุด ซึ่งเป็นอุปกรณ์หลักที่แสดงสถานะปัจจุบันของการพัฒนา AOSP
Cuttlefish และอุปกรณ์จริง
ความแตกต่างหลักระหว่างอุปกรณ์เสมือน Cuttlefish กับอุปกรณ์จริงอยู่ที่ระดับเลเยอร์การแยกแยะฮาร์ดแวร์ (HAL) รวมถึงซอฟต์แวร์ใดๆ ที่โต้ตอบกับฮาร์ดแวร์ที่กำหนดเอง คุณควรคาดหวังว่า Cuttlefish และอุปกรณ์จริงจะทำงานได้อย่างเท่าเทียมกัน ยกเว้นการติดตั้งใช้งานเฉพาะฮาร์ดแวร์
Cuttlefish จะช่วยคุณได้อย่างไร
คุณสามารถโต้ตอบกับ Cuttlefish ได้เช่นเดียวกับอุปกรณ์ Android เครื่องอื่นๆ ที่คุณอาจใช้แก้ไขข้อบกพร่อง อุปกรณ์จะลงทะเบียนตัวเองเป็นอุปกรณ์ปกติผ่าน adb และคุณจะโต้ตอบกับอุปกรณ์ดังกล่าวได้เหมือนอุปกรณ์จริงผ่าน Remote Desktop Use Case นี้ครอบคลุมและอาจครอบคลุมการทดสอบแอป การทดสอบบิลด์ระบบที่กำหนดเอง และอื่นๆ
เนื่องจาก Cuttlefish มุ่งมั่นที่จะทําให้เฟรมเวิร์กมีความถูกต้องสมบูรณ์ จึงสามารถใช้เพื่อทดสอบฟังก์ชันการทํางานของเฟรมเวิร์กหรือแอปที่ไม่มีข้อกําหนดของฮาร์ดแวร์จริงซึ่งจําลองไม่ได้
Cuttlefish มักใช้ในการทดสอบอย่างไรในปัจจุบัน
การใช้งาน Cuttlefish ทั่วไปสำหรับการทดสอบ ได้แก่
- CTS
- การปฏิบัติตามข้อกำหนดของเฟรมเวิร์ก
- การทดสอบการรวมอย่างต่อเนื่อง
- ชุดทดสอบที่กําหนดเอง
ฉันจะโฮสต์ Cuttlefish ในระบบคลาวด์ได้ไหม
ใช่ Cuttlefish รองรับ Google Cloud โดยกำเนิดและเราวางแผนที่จะรองรับแพลตฟอร์มระบบคลาวด์อื่นๆ ด้วย
เริ่มต้นใช้งาน
ดูคําแนะนําในการสร้างอินสแตนซ์ Cuttlefish ตาม AOSP ได้ที่หัวข้อใช้ Cuttlefish
ตัวอย่างเนื้อหาและโค้ดในหน้าเว็บนี้ขึ้นอยู่กับใบอนุญาตที่อธิบายไว้ในใบอนุญาตการใช้เนื้อหา Java และ OpenJDK เป็นเครื่องหมายการค้าหรือเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2025-07-27 UTC
[[["เข้าใจง่าย","easyToUnderstand","thumb-up"],["แก้ปัญหาของฉันได้","solvedMyProblem","thumb-up"],["อื่นๆ","otherUp","thumb-up"]],[["ไม่มีข้อมูลที่ฉันต้องการ","missingTheInformationINeed","thumb-down"],["ซับซ้อนเกินไป/มีหลายขั้นตอนมากเกินไป","tooComplicatedTooManySteps","thumb-down"],["ล้าสมัย","outOfDate","thumb-down"],["ปัญหาเกี่ยวกับการแปล","translationIssue","thumb-down"],["ตัวอย่าง/ปัญหาเกี่ยวกับโค้ด","samplesCodeIssue","thumb-down"],["อื่นๆ","otherDown","thumb-down"]],["อัปเดตล่าสุด 2025-07-27 UTC"],[],[],null,["# Cuttlefish virtual Android devices\n\n*Cuttlefish* is a configurable virtual Android device that can run both remotely\n(using third-party cloud offerings such as Google Cloud Engine) and locally (on\nLinux x86 and ARM64 machines).\n\nCuttlefish goals\n----------------\n\n- Free the platform and app developer from being dependent on physical hardware to develop and validate code changes.\n- Replicate the framework-based behavior of a real device with a focus on **high fidelity** by maintaining close alignment with the core framework.\n- Support all API levels after 28.\n- Provide a **consistent** level of functionality across API levels, aligned with the behavior on physical hardware.\n- Enable scale:\n\n - Provide the ability to run multiple devices in parallel.\n - Enable concurrent test execution with high fidelity at a lower cost of entry.\n- Provide a configurable device with the ability to adjust form factor, RAM,\n CPUs, etc.\n\nCompare Cuttlefish to other devices\n-----------------------------------\n\n### Cuttlefish and Android Emulator\n\nThere are many similarities with the [Android Emulator](/docs/setup/test/avd),\nbut Cuttlefish guarantees full fidelity with Android framework (whether this is\npure AOSP or a custom implementation in your own tree). In real-world\napplication, this means that you should expect Cuttlefish to respond to your\ninteractions at the OS level just like a physical phone target built with the\nsame customized or pure Android OS source.\n\nThe Android Emulator has been built around the use case of making app\ndevelopment easy, and it contains many functional hooks to appeal to the use\ncases of the Android app developer. This may present challenges if you want\nto build an emulator with your customized Android framework. If you need a\nvirtual device that will be representative of your custom platform/framework\ncode or tip-of-tree Android, then Cuttlefish is an ideal virtual option. It is\nthe canonical device for representing the current state of AOSP development.\n\n### Cuttlefish and physical device\n\nThe primary differences between a Cuttlefish virtual device and your physical\ndevice are at the hardware abstraction layer (HAL) level, as well as any\nsoftware that interacts with any custom hardware. Except for hardware-specific\nimplementations, you should expect functionally equivalent behavior between\nCuttlefish and a physical device.\n\nHow can Cuttlefish help?\n------------------------\n\nYou can interact with Cuttlefish just like you would with any other Android\ndevice that you might use for debugging. It will register itself as a normal\ndevice via adb and you can interact with it like a physical device via remote\ndesktop. The use cases are broad and can span app testing, custom system\nbuild testing and more.\n\nBecause Cuttlefish strives for full framework fidelity, it can be used for\nfunctional testing of your framework or apps where there are no\nphysical hardware dependencies that are impossible to emulate.\n\n### How is Cuttlefish commonly used for testing today?\n\nSome common applications of Cuttlefish for testing include:\n\n- CTS\n- Framework compliance\n- Continuous integration testing\n- Custom test suites\n\nCan I host Cuttlefish in the cloud?\n-----------------------------------\n\nYes, Cuttlefish natively supports Google Cloud and support for other cloud\nplatforms is planned.\n\nGet started\n-----------\n\nFor guidance on creating a Cuttlefish instance based on AOSP, see\n[Use Cuttlefish](/docs/devices/cuttlefish/get-started)."]]