Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.

Thiết bị Android ảo Cuttlefish

Mực nang là gì?

Mực là một thiết bị Android ảo cấu hình có thể chạy cả hai từ xa (sử dụng các dịch vụ điện toán đám mây của bên thứ ba như Google Cloud Engine) và địa phương (trên 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 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 các hành vi khuôn khổ dựa trên một thiết bị thực sự với một 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 các khuôn khổ cốt lõi.
  • Hỗ trợ tất cả các cấp API sau 28.
  • Cung cấp một mức độ phù hợp của các chức năng các cấp API, liên kết với các hành vi trên phần cứng vật lý.
  • Bật quy mô:

    • 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ó thể 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 Mực nang với các thiết bị khác

Cuttlefish và Trình giả lập Android

Có rất nhiều điểm tương đồng với Android Emulator , nhưng Mực đảm bảo độ trung thực đầy đủ với khuôn khổ Android (cho dù đây là AOSP tinh khiết hoặc thực hiện tùy chỉnh trong cây của riêng bạn). Trong ứng dụng 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ục tiêu điện thoại vật lý được xây dựng với cùng một nguồn hệ điều hành Android được 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 để làm cho việc phát triển ứng dụng trở nên dễ dàng và nó 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 một 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 đại diện cho nền tảng / mã khung tùy chỉnh của bạn hoặc Android tip-of-tree, thì Cuttlefish là một lựa chọn ảo lý tưởng. Nó là thiết bị kinh điển để đại diện cho tình trạng 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ị vật lý của bạn là ở cấp độ lớp trừu tượng 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 sẽ 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 có thể giúp Cuttlefish?

Bạn có thể tương tác với Cuttlefish giống như bạn làm 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ể kéo dài thử nghiệm ứng dụng, thử nghiệm xây dựng hệ thống tùy chỉnh và hơn thế nữa.

Vì Cuttlefish cố gắng đạt được độ trung thực đầy đủ của khuôn khổ, nó có thể được sử dụng để kiểm tra chức năng của khuôn khổ và / hoặc các ứng dụng của bạn khi không có phụ thuộc phần cứng vật lý nào không thể mô phỏng.

Mực nang được sử dụng phổ biến để xét nghiệm hiện nay 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
  • Tuân thủ khung
  • Kiểm tra tích hợp liên tục
  • Bộ thử nghiệm tùy chỉnh

Tôi có thể lưu trữ mực nang trong đám mây không?

Có, Cuttlefish hỗ trợ Google Cloud ban đầu và hỗ trợ cho các nền tảng đám mây khác đã được lên kế hoạch.

Bắt đầu

Xem hướng dẫn Bắt đầu để được hướng dẫn về việc tạo ra một trường hợp mực dựa trên AOSP.