Cuttlefish là một thiết bị Android ảo có thể định cấu hình, có thể chạy cả từ xa (sử dụng các dịch vụ đám mây của bên thứ ba như Google Cloud Engine) và cục bộ (trên các máy Linux x86).
mục tiêu mực nang
- Giải phóng nền tảng và nhà phát triển ứng dụng khỏi sự phụ thuộc vào phần cứng vật lý để phát triển và xác thực các thay đổi mã.
- Tái tạo hành vi dựa trên khung của một thiết bị thực, tập trung vào độ trung thực cao bằng cách duy trì sự liên kết chặt chẽ với khung lõi.
- Hỗ trợ tất cả các cấp API sau 28.
- Cung cấp mức chức năng nhất quán trên các cấp API, phù hợp với hành vi trên phần cứng vật lý.
Kích hoạt tỷ lệ:
- Cung cấp khả năng chạy song song nhiều thiết bị.
- Cho phép thực hiện kiểm tra đồng thời với độ trung thực cao với chi phí đầu vào thấp hơn.
Cung cấp một thiết bị cấu hình với khả năng điều chỉnh hệ số hình thức, RAM, CPU, v.v.
So sánh Cuttlefish với các thiết bị khác
Mực nang và Trình giả lập Android
Có nhiều điểm tương đồng với Trình giả lập Android , nhưng Cuttlefish đảm bảo hoàn toàn trung thực với khung Android (cho dù đây là AOSP thuần túy hay triển khai tùy chỉnh trong cây của riêng bạn). Trong ứng dụng trong thế giới thực, điều này có nghĩa là bạn nên mong đợi Cuttlefish phản hồi các tương tác của bạn ở cấp hệ điều hành giống như một mục tiêu điện thoại thực được xây dựng với cùng một nguồn hệ điều hành Android tùy chỉnh hoặc thuần túy.
Trình giả lập Android đã được xây dựng dựa trên trường hợp sử dụng giúp phát triển ứng dụng dễ dàng và chứa nhiều móc chức năng để thu hút các trường hợp sử dụng của nhà phát triển ứng dụng Android. Điều này có thể đưa ra những thách thức nếu bạn muốn xây dựng trình giả lập với khung Android tùy chỉnh của mình. Nếu bạn cần một thiết bị ảo sẽ đại diện cho mã nền tảng/khung tùy chỉnh của bạn hoặc Android gốc, thì Cuttlefish là một tùy chọn ảo lý tưởng. Nó là công cụ chuẩn để thể hiện trạng thái phát triển AOSP hiện tại.
Mực nang và thiết bị vật lý
Sự khác biệt chính giữa thiết bị ảo Cuttlefish và thiết bị thực của bạn là ở cấp độ lớp trừu tượng hóa phần cứng (HAL), cũng như bất kỳ phần mềm nào tương tác với bất kỳ phần cứng tùy chỉnh nào. Ngoại trừ các triển khai dành riêng cho phần cứng, bạn nên mong đợi hành vi tương đương về mặt chức năng giữa Cuttlefish và thiết bị vật lý.
Làm thế nào mực nang có thể giúp đỡ?
Bạn có thể tương tác với Cuttlefish giống như với bất kỳ thiết bị Android nào khác mà bạn có thể sử dụng để gỡ lỗi. Nó sẽ tự đăng ký như một thiết bị bình thường thông qua adb và bạn có thể tương tác với nó như một thiết bị vật lý thông qua máy tính để bàn từ xa. Các trường hợp sử dụng rất rộng và có thể mở rộng thử nghiệm ứng dụng, thử nghiệm xây dựng hệ thống tùy chỉnh, v.v.
Vì Cuttlefish cố gắng đạt được độ trung thực của khung đầy đủ, nên nó có thể được sử dụng để kiểm tra chức năng của khung và/hoặc ứng dụng của bạn khi không có phần phụ thuộc phần cứng vật lý nào không thể mô phỏng.
Mực nang thường được sử dụng để thử nghiệm như thế nào hiện nay?
Một số ứng dụng phổ biến của Mực nang để thử nghiệm bao gồm:
- CTS
- tuân thủ khuôn khổ
- Kiểm tra tích hợp liên tục
- Bộ kiểm tra tùy chỉnh
Tôi có thể lưu trữ mực nang trên đám mây không?
Có, Cuttlefish vốn hỗ trợ Google Cloud và hỗ trợ cho các nền tảng đám mây khác đã được lên kế hoạch.
Bắt đầu
Để biết hướng dẫn về cách tạo phiên bản Cuttlefish dựa trên AOSP, hãy xem Sử dụng Cuttlefish .