編輯 Android 虛擬設備屬性
本文說明如何使用 Android 裝置管理員 (AVD) 來編輯 Android 虛擬設備的設定檔屬性。 如需 Android 虛擬裝置的詳細資訊,請參閱 在 developer.android.com 上建立和管理虛擬設備 。
Windows 上的 Android Device Manager
Android Device Manager 支援編輯個別的 Android 虛擬裝置設定檔內容。 [新增裝置] 和 [裝置編輯] 畫面會在第一欄中列出虛擬裝置的屬性,並在第二欄中列出每個屬性的對應值 (如本範例所示):
當您選取屬性時,該屬性的詳細描述就會顯示在右邊。 您可以修改「硬體設定檔內容」和「AVD 內容」。 硬體設定檔屬性 (例如 hw.ramSize
和 hw.accelerometer
) 會說明模擬裝置的實體特性。 這些特性包括螢幕大小、可用的 RAM 數量、加速計是否存在。 AVD 屬性會在 AVD 執行時指定其作業。 例如,您可以設定 AVD 屬性,來指定 AVD 如何使用您開發電腦的圖形卡進行轉譯。
您可以使用下列指導方針來變更屬性:
若要變更布林值屬性,請按一下布林值屬性右邊的核取記號:
若要變更 enum (列舉) 屬性,請按一下屬性右邊的向下箭頭,然後選擇新值。
若要變更字串或整數屬性,請在 [值] 欄中按兩下目前的字串或整數設定,然後輸入新值。
下表提供 [新裝置] 和 [裝置編輯器] 畫面中所列屬性的詳細說明:
屬性 | 說明 | 選項。 |
---|---|---|
abi.type |
ABI 類型 – 指定模擬裝置的 ABI (應用程式二進位介面) 類型。 x86 選項適用於通常稱為 「x86」 或 「IA-32」 的指令集。x86_64選項適用於 64 位 x86 指令集。 armeabi-v7a 選項是用於具有 v7-a ARM 擴充功能的 ARM 指令集。 arm64-v8a 選項是用於支援 AArch64 的 ARM 指令集。 | x86、x86_64、armeabi-v7a、arm64-v8a |
disk.cachePartition |
快取分割區 – 判斷模擬裝置是否在 裝置上使用 /cache 數據分割。 /cache 磁碟分割 (一開始是空的) 是 Android 儲存經常存取之資料與應用程式元件的位置。 如果設定為 否,模擬器不會使用 /cache 數據分割,而且會忽略其他 disk.cache 設定。 |
yes、no |
disk.cachePartition.path |
快取磁碟分割路徑 – 指定您開發電腦上的快取磁碟分割映像檔。 模擬器會針對 /cache 數據分割使用此檔案。 輸入絕對路徑或模擬器 [data] 目錄的相對路徑。 如果未設定,模擬器會在您的開發電腦上建立一個名為 cache.img 的暫存檔。 如果檔案不存在,則會建立為空白檔案。 若 disk.cachePartition 是設定為 no,將會忽略此選項。 |
|
disk.cachePartition.size |
快取分割區大小 – 快取分割區檔案的大小(以位元組為單位)。 通常您不需要設定此選項,除非應用程式會下載大於預設快取大小 66 MB 的大型檔案。 若 disk.cachePartition 是設定為 no,將會忽略此選項。 如果此值是整數,就會以位元組為單位來指定大小。 您也可以使用 KB、MB 與 GB 為單位來指定此大小,方法是在值附加 K、M 或 G。 大小下限為 9M,大小上限為 1023G。 |
|
disk.dataPartition.initPath |
資料磁碟分割的初始路徑 – 指定資料磁碟分割的初始內容。 抹除使用者資料之後,模擬器會將所指定檔案的內容複製到使用者資料 (預設為 userdata-qemu.img) 中,而不會使用 userdata.img 作為初始版本。 | |
disk.dataPartition.path |
資料磁碟分割的路徑 – 指定使用者資料磁碟分割檔案。 若要設定持續性使用者資料檔案,請輸入檔案名稱和您開發電腦上的路徑。 如果該檔案不存在,模擬器就會從預設檔案 userdata.img 建立映像、將它儲存在 disk.dataPartition.path 所指定的檔案名稱中,然後在模擬器關閉時,將使用者資料保存至該檔案。 如果您未指定路徑,預設檔案會命名為 userdata-qemu.img。 特殊值 <暫存> 會讓模擬器建立並使用臨時檔。 如果 disk.dataPartition.initPath 已設定,則會在開機時將其內容複製到 disk.dataPartition.path 檔案。 此選項不能保留空白。 |
|
disk.dataPartition.size |
數據分割大小 – 以位元組為單位指定用戶資料分割的大小。 如果此值是整數,就會以位元組為單位來指定大小。 您也可以使用 KB、MB 與 GB 為單位來指定此大小,方法是在值附加 K、M 或 G。 大小下限為 9M,大小上限為 1023G。 | |
disk.ramdisk.path |
Ramdisk 路徑 – 開機磁碟分割 (Ramdisk) 映像的路徑。 ramdisk 映像是核心在掛接系統映像之前所載入的系統映射子集。 Ramdisk 映像通常包含開機時間二進位檔和初始化指令碼。 如果未指定此選項,則模擬器系統目錄中的預設值為 ramdisk.img 。 | |
disk.snapStorage.path |
快照集記憶體路徑 – 儲存所有快照集的快照集記憶體檔案路徑。 執行期間建立的所有快照集都會儲存至此檔案。 只有儲存至這個檔案的快照,才能在模擬器執行期間被還原。 如果未指定此選項,則預設為模擬器數據目錄中的 snapshots.img。 | |
disk.systemPartition.initPath |
系統磁碟分割初始路徑 – 系統映像檔唯讀複本的路徑;具體而言,就是包含系統程式庫及與 API 層級和任何變體對應之資料的磁碟分割。 如果未指定此路徑,則預設為模擬器系統目錄中的 system.img。 | |
disk.systemPartition.path |
系統磁碟分割路徑– 讀取/寫入系統磁碟分割映像的路徑。 如果未設定此路徑,則會從 所 disk.systemPartition.initPath 指定的檔案內容建立並初始化暫存盤。 |
|
disk.systemPartition.size |
系統分割區大小 – 系統分割區的理想大小(以位元組為單位)。 如果實際系統磁碟分割映像大於此設定,便會忽略此大小;否則,這會指定系統磁碟分割檔案可成長的大小上限。 如果此值是整數,就會以位元組為單位來指定大小。 您也可以使用 KB、MB 與 GB 為單位來指定此大小,方法是在值附加 K、M 或 G。 大小下限為 9M,大小上限為 1023G。 | |
hw.accelerometer |
加速計 – 決定模擬裝置是否包含加速計感應器。 加速計可協助裝置判斷方向(用於自動調整)。 加速計會回報裝置加速情況及三個感應器軸。 | yes、no |
hw.audioInput |
音訊錄製支援 – 決定模擬裝置是否可以錄製音訊。 | yes、no |
hw.audioOutput |
音訊播放支援 – 決定模擬裝置是否可以播放音訊。 | yes、no |
hw.battery |
電池支援 – 決定模擬裝置是否可以靠電池電力運行。 | yes、no |
hw.camera |
相機支援 – 決定模擬裝置是否具有相機。 | yes、no |
hw.camera.back |
後置相機 – 設定後置相機 (鏡頭朝使用者的反方向)。 如果您在開發電腦上使用網路攝影機來模擬裝置上的反向相機,此值必須設定為網路攝影機 n,其中 n 會選取網路攝影機(如果您只有一個網路攝影機,請選擇網路攝影機0)。 如果設定為 emulated ,模擬器會模擬軟體中的相機。 若要停用反向相機,請將此值設定為 none 。 如果您啟用後置相機,請務必一併啟用 hw.camera 。 |
emulated、none、webcam0 |
hw.camera.front |
前置相機 – 設定前置相機 (鏡頭朝向使用者的方向)。 如果您在開發電腦上使用網路攝影機來模擬模擬裝置上的前端相機,此值必須設定為網路攝影機 n,其中 n 會選取網路攝影機(如果您只有一個網路攝影機,請選擇網路攝影機0)。 如果設定為 emulated ,模擬器會模擬軟體中的相機。 若要停用正面相機,請將此值設定為 none 。 如果您啟用前置相機,請務必一併啟用 hw.camera 。 |
emulated、none、webcam0 |
hw.camera.maxHorizontalPixels |
最大水平相機像素 – 設定模擬裝置的相機最大水平解析度 (單位為像素)。 | |
hw.camera.maxVerticalPixels |
最大垂直相機像素 – 設定模擬裝置的相機最大垂直解析度 (單位為像素)。 | |
hw.cpu.arch |
CPU 架構 – 虛擬裝置所要模擬的 CPU 架構。 若要模擬 ARM CPU,請針對 32 位元選取 arm,或針對 64 位元 ARM CPU 選取 arm64。 請記住,ARM 型虛擬設備執行的速度比 x86 型裝置慢得多,因為硬體加速不適用於 ARM。 | x86、x86_64、arm、arm64 |
hw.cpu.model |
CPU 模型 – 此值通常會保持未設定(如果未明確設定,則會設定為衍生自 hw.cpu.arch 的值)。 不過,可以將它設定為模擬器特定字串以供實驗使用。 |
|
hw.dPad |
DPad 按鍵 – 決定模擬裝置是否支援方向鍵 (DPad) 按鍵。 DPad 通常有四個按鍵來指示方向控制。 | yes、no |
hw.gps |
GPS 支援 – 決定模擬裝置是否具有 GPS (全球定位系統) 接收器。 | yes、no |
hw.gpu.enabled |
GPU 模擬 – 決定模擬裝置是否支援 GPU 模擬。 啟用時,GPU 模擬會使用 Open GL for Embedded Systems (OpenGL ES) 來轉譯畫面上的 2D 和 3D 圖形,而關聯的「GPU 模擬模式」設定則會決定 GPU 模擬的實作方式。 | yes、no |
hw.gpu.mode |
GPU 模擬模式 – 決定模擬器實作 GPU 模擬的方式。 如果您選取 [自動],模擬器會根據開發計算機設定來選擇硬體和軟體加速。 如果您選取主機,模擬器會使用開發計算機的圖形處理器來執行 GPU 模擬,以加快轉譯速度。 如果您的 GPU 與模擬器不相容,而且您位於 Windows 上,您可以嘗試角度而非主機。 angle 模式會使用 DirectX 來提供與 host 類似的效能。 如果您選取 mesa,模擬器會使用 Mesa 3D 軟體連結庫來轉譯圖形。 當您無法透過開發電腦的圖形處理器進行轉譯時,請選取 mesa。 在效能比使用電腦 GPU 稍差的軟體中,可以使用 swiftshader 模式來轉譯圖形。 off 選項 (停用圖形硬體模擬) 已過時,此選項可能導致某些項目轉譯不正確,因此不建議使用。 | auto、host、mesa、angle、swiftshader、off |
hw.gsmModem |
GSM 數據機支援 – 決定模擬裝置是否包含支援 GSM (全球行動通訊系統) 電話無線電系統的數據機。 | yes、no |
hw.initialOrientation |
初始螢幕方向 – 設定模擬裝置上的初始螢幕方向 (直向或橫向模式)。 在直向模式中,螢幕高度會大於寬度。 在橫向模式中,螢幕寬度會大於高度。 執行模擬裝置時,如果裝置設定檔中同時支援直向和橫向模式,您就可以變更方向。 | portrait、landscape |
hw.keyboard |
鍵盤支援 – 決定模擬裝置是否支援 QWERTY 鍵盤。 | yes、no |
hw.keyboard.charmap |
鍵盤字元對應名稱 – 此裝置的硬體字元對應名稱。 注意:除非您已據以修改系統映射,否則這一律應該是預設 的 qwerty2 。 此名稱會在開機時傳送至核心。 使用的名稱如果不正確,將會造成虛擬裝置無法使用。 | |
hw.keyboard.lid |
鍵盤蓋支援 – 如果已啟用鍵盤支援,此設定可決定是否可以將 QWERTY 鍵盤關閉/隱藏或開啟/顯示。 如果 hw.keyboard 設定為 false,則會忽略此設定。 注意:如果模擬裝置的目標是 API 層級 12 或更高層級,則預設值為 false。 | yes、no |
hw.lcd.backlight |
LCD 背光 – 決定模擬裝置是否要模擬 LCD 背光。 | yes、no |
hw.lcd.density |
LCD 密度 – 模擬 LCD 顯示器的密度,以密度無關的像素或 dp 測量(dp 是虛擬像素單位)。 當此設定為 160 dp 時,每個 dp 會對應一個實體像素。 在執行階段,Android 會使用此值來選取和調整適當的資源/資產,來進行正確的顯示器轉譯。 | 120、160、240、213、320 |
hw.lcd.depth |
LCD 色彩深度 – 所模擬 framebuffer 的色彩位元深度,framebuffer 會保存用於驅動 LCD 顯示的點陣圖。 此值可以是 16 位元 (65,536 個可能的色彩) 或 32 位元 (16,777,216 個色彩再加上透明度)。 32 位元設定可能讓模擬器執行速度稍微慢一些,但可提供較精確的色彩。 | 16, 32 |
hw.lcd.height |
LCD 像素高度 – 構成所模擬 LCD 顯示器之垂直維度的像素數目。 | |
hw.lcd.width |
LCD 像素寬度 – 構成所模擬 LCD 顯示器之水平維度的像素數目。 | |
hw.mainKeys |
硬體上一頁/首頁按鍵 – 決定模擬裝置是否支援硬體「上一頁」和「首頁」導覽按鈕。 如果只在軟體中實作按鈕,您可以將此值設定為 yes。 如果 hw.mainKeys 設定為 [是],模擬器不會在螢幕上顯示流覽按鈕,但您可以使用模擬器側邊面板來「按下」這些按鈕。 |
yes、no |
hw.ramSize |
裝置 RAM 大小 – 模擬裝置上的實體 RAM 數量 (單位為 MB)。 預設值是從螢幕大小或外觀版本計算而來。 將大小增大可以加快模擬器作業速度,但代價是會從您的開發電腦要求更多資源。 | |
hw.screen |
觸控式螢幕類型 – 定義模擬裝置上螢幕的類型。 multi-touch 螢幕可追蹤觸控式介面上兩根以上的手指。 touch 螢幕只能偵測單一手指觸控事件。 無觸控畫面不會偵測觸控事件。 | touch、multi-touch、no-touch |
hw.sdCard |
SDCard 支援 – 決定模擬裝置是否支援插入和移除虛擬 SD (Secure Digital) 記憶卡。 模擬器會使用儲存在您開發電腦上的可掛接磁碟映像,來模擬實際 SD 記憶卡裝置的磁碟分割 (請參閱 hw.sdCard.path)。 | yes、no |
sdcard.size |
SDCard 大小 – 指定 位於 所 hw.sdCard.path 指定位置的虛擬 SD 記憶卡檔案大小。 大小 (以位元組為單位)。 如果此值是整數,就會以位元組為單位來指定大小。 您也可以使用 KB、MB 與 GB 為單位來指定此大小,方法是在值附加 K、M 或 G。 大小下限為 9M,大小上限為 1023G。 |
|
hw.sdCard.path |
SDCard 映像路徑 – 指定您開發電腦上 SD 記憶卡磁碟分割映像檔的檔案名稱和路徑。 例如,可以將此路徑設定為 Windows 上的 C:\sd\sdcard.img。 | |
hw.sensors.magnetic_field |
磁場感應器 – 決定模擬裝置是否支援磁場感應器。 磁場感應器 (也稱為磁力計) 會回報沿著三個感應器軸測量到的周遭地球磁場。 如果應用程式需要存取羅盤讀數,請啟用此設定。 例如,導航應用程式可能會使用此感應器來偵測使用者所正對的方向。 | yes、no |
hw.sensors.orientation |
方向感應器 – 決定模擬裝置是否提供方向感應器值。 方向感應器會測量裝置圍繞三個實體軸 (x、y、z) 進行的旋轉角度。 從Android 2.2(API層級8) 起,方向感測器已被取代。 | yes、no |
hw.sensors.proximity |
近接感應器 – 決定模擬裝置是否支援近接感應器。 此感應器會測量物件相對於裝置檢視螢幕的鄰近程度。 此感應器通常用來判斷話筒是否正舉到使用者的耳邊。 | yes、no |
hw.sensors.temperature |
溫度感應器 – 決定模擬裝置是否支援溫度感應器。 此感應器會測量裝置的攝氏溫度 (°C)。 | yes、no |
hw.touchScreen |
觸控式螢幕支援 – 決定模擬裝置是否支援觸控式螢幕。 觸控式螢幕是用來在螢幕上直接操控物件。 | yes、no |
hw.trackBall |
軌跡球支援 – 決定模擬裝置是否支援軌跡球。 | yes、no |
hw.useext4 |
EXT4 檔案系統支援 – 決定模擬裝置是否使用 Linux EXT4 檔案系統作為磁碟分割。 因為檔案系統類型現在已自動偵測,因此這個選項已被取代並忽略。 | 否 |
kernel.newDeviceNaming |
核心新裝置命名 – 用來指定核心是否需要新的裝置命名配置。 新的命名配置通常與Linux 3.10核心和更新版本搭配使用。 如果設定為 自動偵測,模擬器會自動偵測核心是否需要新的裝置命名配置。 | autodetect、yes、no |
kernel.parameters |
核心參數 – 指定 Linux 核心開機參數的字串。 此設定預設會留白。 | |
kernel.path |
核心路徑 – 指定 Linux 核心的路徑。 如果未指定此路徑,模擬器會尋找 kernel-ranchu 的模擬器系統目錄中。 | |
kernel.supportsYaffs2 |
YAFFS2 磁碟分割支援 – 決定核心是否支援 YAFFS2 (Yet Another Flash File System 2) 磁碟分割。 一般而言,這項支援僅適用於Linux 3.10之前的核心。 如果設定為 自動偵測,模擬器會自動偵測核心是否可以掛接 YAFFS2 文件系統。 | autodetect、yes、no |
skin.name |
面板名稱 – Android 模擬器面板的名稱。 面板是一個檔案集合,定義了模擬器顯示畫面的視覺和控制元素;它會描述 AVD 視窗在您開發電腦上看起來的樣子。 面板描述螢幕大小、按鈕和整體設計,但不會影響您應用程式的作業。 | |
skin.path |
面板路徑 – 目錄的路徑 ,其中包含 skin.name 此目錄所指定的模擬器面板檔案包含 hardware.ini 版面配置檔案,以及外觀顯示元素的圖像檔。 | |
skin.dynamic |
面板動態 – 面板是否為動態面板。 如果模擬器要根據指定的寬度和高度來建構指定大小的面板,則模擬器面板為動態面板。 | 否 |
如需這些屬性的詳細資訊,請參閱硬體設定檔屬性 \(英文\)。