Cuttlefish 多用戶群可讓您在主機機器上 有單次啟動叫用的訪客裝置。
這些多部 Cuttlefish 虛擬機器
可以共用部分主機磁碟
讓您節省磁碟空間。每個虛擬機器
重疊的磁碟重疊,涵蓋 Android 分區 (例如 super
、
userdata
、boot
)。對訪客磁碟所做的任何修改都會放在
訪客專屬的磁碟重疊,為每個 Cuttlefish 虛擬機器
磁碟分區的寫入時複製檢視。隨著虛擬裝置寫入的次數增加
將硬碟上的重疊檔案向上提升
因為您可藉此擷取原始狀態與
目前狀態
您可以重設重疊影像檔案,將 Cuttlefish 磁碟傳回 原始狀態這項程序稱為 執行 Powerwash。
執行個體編號
Cuttlefish 裝置會在與其相連結的主機上建立及耗用資源
執行個體編號。舉例來說,adb
連線是透過 TCP 公開
執行個體號碼為 1
的 Cuttlefish 裝置的通訊端,位於通訊埠 6520
。
啟動多個執行個體時,會在通訊埠建立 TCP 伺服器通訊端
第 1 部裝置為 6520
,第二部裝置為 6521
,並遞增
通訊埠號碼。
修改支援的執行個體數量上限
主機端資源 (例如 TAP 網路裝置) 必須預先分配至
Cuttlefish 虛擬機器。根據預設,
cuttlefish-base Debian 套件
透過 10
佈建執行個體編號 1
的資源。
你可以透過在以下位置修改 num_cvd_accounts
:
請/etc/default/cuttlefish-host-resources
,並重新啟動
來下載 cuttlefish-host-resources
服務:
sudo systemctl restart cuttlefish-host-resources
標準設定
標準化配置代表 Cuttlefish 裝置的設定 匯出成 JSON 格式的檔案您可以建立標準設定 JSON 檔案 說明多用戶群中多個 Cuttlefish 裝置的設定 情境。
以下說明標準設定 JSON 檔案使用的格式 (將預留位置替換為裝置設定)。
{
"common": {
CONFIGURATIONS_APPLYING_TO_ALL_DEVICES
},
"instances": [
{
FIRST_DEVICE_CONFIGURATION
},
{
NTH_DEVICE_CONFIGURATION
}
]
}
以下是包含兩部裝置的設定設定檔範例: 使用手機和穿戴式裝置:
{
"instances": [
{
"@import": "phone",
"vm": {
"memory_mb": 8192,
"setupwizard_mode": "OPTIONAL",
"cpus": 4
},
"disk": {
"default_build": "/home/username/devices/cf_x86_64_phone-userdebug"
}
},
{
"@import": "wearable",
"vm": {
"memory_mb": 8192,
"setupwizard_mode": "REQUIRED",
"cpus": 4
},
"disk": {
"default_build": "/home/username/devices/cf_gwear_x86-userdebug"
}
}
]
}
此表格將說明範例設定中使用的元素,其中包含兩個 裝置:
元素 | 類型 | 說明 |
---|---|---|
instances |
陣列 | JSON 物件陣列,每個物件都說明 要啟動的多用戶群裝置群組。 |
@import |
字串 | 指出裝置類型,並設定裝置的預設值
此外還會從 0 自動調整資源配置
您完全不必調整資源調度設定支援的裝置類型為
《phone 》和《wearable 》。 |
vm |
物件 | 指定適用於以下 Pod 特定 VM 環境的屬性: 裝置執行個體。 |
memory_mb |
數字 | 為特定 VM 分配的記憶體量 (以 MB 為單位)。 |
setupwizard_mode |
字串 | 指定首次為使用者執行裝置設定精靈
裝置本身的運作設定精靈模式支援的選項如下
DISABLED 、OPTIONAL 和
REQUIRED 。 |
cpus |
數字 | 分配給 VM 的虛擬 CPU 數量。 |
disk |
物件 | 指定與尋找所用檔案系統成果相關的屬性 可用於執行單一 VM 執行個體 |
default_build |
字串 | 本機檔案系統路徑,指向包含 Cuttlefish 虛擬裝置的資料夾 圖片。 |
如需更多使用 cvd
發布設定檔的範例,請參閱
cvd_test_configs
位於 Cuttlefish 程式碼樹的資料夾中
控管多用戶群執行個體
本節說明如何在多用戶群的情況下啟動及停止裝置。 您可以使用下列選項啟動多個 Cuttlefish 裝置:
- 「Canonical config」(標準設定):啟動自訂項目 JSON 設定檔 以便列出要啟動的執行個體
- 單一訪客圖片:啟動多個 以及單一訪客映像檔
從標準設定啟動多個 VM
如要使用用於啟動多個 VM 的標準設定
多用戶群情境,請透過 --config_file=
叫用 cvd start
指令
標記前置字串,如下所示:
cvd start --config_file=CONFIG_FILE
以下是參照標準設定檔的叫用範例
/etc/phone.json
。
cvd start --config_file=/etc/phone.json
透過單一訪客映像檔啟動多個 VM
如要使用單一訪客圖片啟動多台 Cuttlefish 裝置,請使用
--num_instances=N
標記,其中 N 是數字
才能啟動應用程式根據預設,裝置會從執行個體編號 1
開始。
cvd start --num_instances=N
如要變更啟動執行個體的編號,請執行下列其中一項操作:
使用下列指令新增
--base_instance_num=N
標記: N 做為第一個執行個體編號。cvd start --base_instance_num=N
透過使用者帳戶比對功能啟動 Cuttlefish
vsoc-NN
,其中 NN 是基礎執行個體 以兩位數表示。例如透過使用者啟動 Cuttlefish 帳戶vsoc-01
,執行:cvd start --base_instance_num=1
如何停止裝置
如要停止上次 cvd start
叫用啟動的所有裝置,請執行:
cvd stop