墨魚虛擬安卓設備

什麼是墨魚?

墨魚是可以(使用第三方雲服務,如谷歌雲引擎)和本地(在Linux x86機器)遠程運行兩個可配置的虛擬Android設備。

墨魚進球

  • 使平台和應用程序開發人員無需依賴物理硬件來開發和驗證代碼更改。
  • 通過保持與核心框架緊密排列複製為重點的高保真真實設備的基於框架的行為。
  • 支持 28 後的所有 API 級別。
  • 提供跨API級別的功能一致的水平,對物理硬件的行為一致。
  • 啟用規模:

    • 提供並行運行多個設備的能力。
    • 以較低的進入成本實現高保真並發測試執行。
  • 提供能夠調整外形、RAM、CPU 等的可配置設備。

將 Cuttlefish 與其他設備進行比較

墨魚和安卓模擬器

有與很多相似之處Android模擬器,但是墨魚保證了與Android框架全保真(這是否是純粹的AOSP或在你自己的樹自定義實現)。在實際應用中,這意味著您應該期望 Cuttlefish 在操作系統級別響應您的交互,就像使用相同的定製或純 Android 操作系統源構建的物理電話目標一樣。

Android Emulator 圍繞使應用程序開髮變得容易的用例而構建,它包含許多功能掛鉤以吸引 Android 應用程序開發人員的用例。如果您想使用自定義的 Android 框架構建模擬器,這可能會帶來挑戰。如果您需要一個代表您的自定義平台/框架代碼或樹尖 Android 的虛擬設備,那麼 Cuttlefish 是一個理想的虛擬選擇。它是代表 AOSP 開發當前狀態的規範設備。

墨魚和物理設備

Cuttlefish 虛擬設備和您的物理設備之間的主要區別在於硬件抽象層 (HAL) 級別,以及與任何自定義硬件交互的任何軟件。除了特定於硬件的實現,您應該期待 Cuttlefish 和物理設備之間功能等效的行為。

墨魚如何提供幫助?

您可以像與任何其他可能用於調試的 Android 設備進行交互一樣與 Cuttlefish 進行交互。它將通過 adb 將自己註冊為普通設備,您可以通過遠程桌面像物理設備一樣與其交互。用例很廣泛,可以涵蓋應用程序測試、自定義系統構建測試等。

由於 Cuttlefish 力求實現完整的框架保真度,因此它可用於對沒有無法模擬的物理硬件依賴性的框架和/或應用程序進行功能測試。

如今,墨魚通常如何用於測試?

墨魚測試的一些常見應用包括:

  • 中旅
  • 框架合規
  • 持續集成測試
  • 自定義測試套件

我可以在雲中託管墨魚嗎?

是的,Cuttlefish 原生支持 Google Cloud,併計劃支持其他雲平台。

入門

請參閱入門指南的指導創建基於AOSP烏賊實例。