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