Cuttlefish 虛擬 Android 裝置

Cuttlefish 是可設定的虛擬 Android 裝置,可從遠端執行 (使用 Google Cloud Engine 等第三方雲端服務) 和本機 ( Linux x86 和 ARM64 機器)。

Cuttlefish 目標

  • 讓平台和應用程式開發人員不再依賴實體 開發及驗證程式碼變更
  • 複製真實裝置的架構行為,並將重點放在 高保真度,也就是與核心架構保持緊密一致性。
  • 支援 28 後的所有 API 級別。
  • 在各個 API 級別中提供一致的功能級別 處理實體硬體的行為
  • 啟用比例尺:

    • 允許並行執行多部裝置。
    • 以較低的成本啟用高保真度並行測試執行作業 項目。
  • 提供可設定的裝置,能夠調整板型規格、RAM、 CPU 等

比較 Cuttlefish 與其他裝置

Cuttlefish 和 Android Emulator

Android Emulator 有許多相似之處, 但 Cuttlefish 採用 Android 架構 (無論是採用 您便可以只使用 Android 開放原始碼計畫,或在自己的樹狀結構中自訂實作項目)。實際應用 也就表示您應該預期 Cuttlefish 回應 與作業系統層級的互動,就像使用 使用同一個自訂或純粹的 Android 作業系統來源。

Android Emulator 是專為製作應用程式用途而打造 而且當中含有許多功能掛鉤,讓開發人員能輕鬆開發應用程式 但事實上,Android 應用程式開發人員 遇到了很多困難這可能會產生一些挑戰 使用自訂 Android 架構建構模擬器。如果您需要代表自訂平台/架構程式碼或樹狀結構頂端 Android 的虛擬裝置,Cuttlefish 就是理想的虛擬選項。是 代表 Android 開放原始碼計畫目前開發狀態的標準裝置。

Cuttlefish 和實體裝置

Cuttlefish 虛擬裝置與實體裝置的主要差異在於硬體抽象層 (HAL) 層級,以及與任何自訂硬體互動的任何軟體。除了硬體專屬的實作項目外,Cuttlefish 和實體裝置之間的行為應是功能等同的。

Cuttlefish 能提供哪些協助?

你可像使用其他 Android 裝置一樣,和 Cuttlefish 互動 也可用於偵錯的裝置它會透過 ADB 將自身註冊為一般裝置,您可以透過遠端桌面與其互動,就像使用實體裝置一樣。應用情境廣泛,適用於應用程式測試、自訂系統 包括建構測試等

Cuttlefish 致力於維持整個架構的保真度,因此可用於 針對沒有架構的架構或應用程式,進行功能測試 難以模擬的實體硬體依附元件

Cuttlefish 目前如何用於測試?

Cuttlefish 的常見測試用途包括:

  • CTS
  • 法規遵循
  • 持續整合測試
  • 自訂測試套件

我可以在雲端上主持 Cuttlefish 嗎?

是的,Cuttlefish 原生支援 Google Cloud,我們也預計支援其他雲端平台。

開始使用

如要瞭解如何根據 Android 開放原始碼計畫建立 Cuttlefish 執行個體,請參閱 使用 Cuttlefish