Khởi động trình mô phỏng từ dòng lệnh

SDK Android bao gồm trình mô phỏng thiết bị Android — một thiết bị ảo chạy trên máy tính. Trình mô phỏng Android cho phép bạn phát triển và kiểm thử các ứng dụng Android mà không cần sử dụng thiết bị thực tế.

Trang này mô tả các tính năng dòng lệnh mà bạn có thể sử dụng với Trình mô phỏng Android. Để biết thông tin về cách sử dụng giao diện người dùng Trình mô phỏng Android, hãy xem bài viết Chạy ứng dụng trên Trình mô phỏng Android.

Khởi động trình mô phỏng

Hãy dùng lệnh emulator để khởi động trình mô phỏng, thay cho cách chạy dự án của bạn hoặc khởi động thông qua Trình quản lý thiết bị ảo Android.

Dưới đây là cú pháp dòng lệnh cơ bản để khởi động một thiết bị ảo từ một lời nhắc kết thúc:

emulator -avd avd_name [ {-option [value]} … ]

Hoặc

emulator @avd_name [ {-option [value]} … ]

Ví dụ: nếu bạn khởi chạy trình mô phỏng từ trong Android Studio chạy trên máy Mac, dòng lệnh mặc định sẽ tương tự như sau:

/Users/janedoe/Library/Android/sdk/emulator/emulator -avd Pixel8_API_34 -netdelay none -netspeed full -qt-hide-window -grpc-use-token -idle-grpc-timeout

Xin lưu ý rằng các đối số -qt-hide-window -grpc-use-token -idle-grpc-timeout chỉ dùng để chạy cửa sổ trình mô phỏng trong Android Studio. Nếu muốn chạy trình mô phỏng trên cửa sổ riêng, bạn không nên sử dụng các tham số bổ sung đó.

Bạn có thể chỉ định các tuỳ chọn khởi động khi bắt đầu chạy trình mô phỏng, nhưng không thể làm như vậy sau khi trình mô phỏng đã chạy.

Đối với danh sách tên AVD, hãy nhập lệnh sau:

emulator -list-avds

Dùng tuỳ chọn này để hiển thị danh sách tên AVD trong thư mục gốc của Android. Bạn có thể ghi đè thư mục gốc mặc định bằng cách đặt biến môi trường ANDROID_SDK_HOME để chỉ định gốc của thư mục dành riêng cho người dùng làm nơi lưu trữ tất cả các nội dung cấu hình và AVD.

Bạn có thể đặt biến môi trường trong cửa sổ dòng lệnh trước khi khởi chạy thiết bị ảo hoặc thông qua chế độ cài đặt người dùng trong hệ điều hành. Ví dụ: trong tệp .bashrc trên Linux.

Để dừng Trình mô phỏng Android, hãy đóng cửa sổ trình mô phỏng.

Cài đặt ứng dụng

Ngoài việc cài đặt ứng dụng thông qua Android Studio hoặc giao diện người dùng trình mô phỏng, bạn còn có thể cài đặt ứng dụng của mình trên một thiết bị ảo bằng cách dùng tiện ích adb.

Nếu muốn dùng adb để cài đặt, chạy và kiểm thử ứng dụng, hãy làm theo các bước chung sau đây:

  1. Xây dựng và đóng gói ứng dụng của bạn vào trong một APK như mô tả trong bài viết Tạo và chạy ứng dụng.
  2. Khởi động trình mô phỏng từ dòng lệnh như mô tả trong phần trước, sử dụng mọi tuỳ chọn khởi động cần thiết.
  3. Dùng adb để cài đặt ứng dụng.
  4. Chạy và kiểm thử ứng dụng trên trình mô phỏng.
    Trong khi trình mô phỏng đang chạy, bạn cũng có thể sử dụng Bảng điều khiển trình mô phỏng để thực hiện các lệnh khi cần.

Để gỡ cài đặt một ứng dụng, hãy làm giống như trên thiết bị Android.

Thiết bị ảo lưu giữ ứng dụng này và dữ liệu trạng thái của ứng dụng sau khi khởi động lại, trong phân vùng đĩa dữ liệu người dùng (userdata-qemu.img). Để xoá dữ liệu này, hãy khởi động trình mô phỏng bằng tuỳ chọn -wipe-data hoặc xoá sạch dữ liệu trong Trình quản lý thiết bị ảo Android. Để biết thêm thông tin về phân vùng dữ liệu người dùng và các vị trí lưu trữ khác, hãy xem phần sau đây.

Lưu ý: Tiện ích adb coi thiết bị ảo là thiết bị thực tế. Vì lý do này, bạn có thể phải sử dụng cờ -d với một số lệnh adb phổ biến, chẳng hạn như install. Cờ -d cho phép bạn chỉ định thiết bị nào được kết nối sẽ dùng làm mục tiêu của một lệnh. Nếu bạn không chỉ định -d, trình mô phỏng sẽ nhắm mục tiêu thiết bị đầu tiên trong danh sách.

Tìm hiểu về các thư mục và tệp mặc định

Trình mô phỏng sử dụng các tệp liên kết, trong đó hệ thống AVD và các thư mục dữ liệu là quan trọng nhất. Bạn nên hiểu rõ cấu trúc thư mục và các tệp của trình mô phỏng khi chỉ định các tuỳ chọn dòng lệnh, mặc dù bạn thường không cần sửa đổi các thư mục hoặc tệp mặc định.

Trình mô phỏng Android sử dụng trình điều khiển ảo hoá (QEMU).

Thư mục hệ thống AVD

Thư mục hệ thống chứa các hình ảnh hệ thống Android mà trình mô phỏng sử dụng để mô phỏng hệ điều hành. Thư mục này có các tệp ở chế độ chỉ đọc, dành riêng cho nền tảng, được chia sẻ bởi tất cả các AVD cùng loại, bao gồm cấp API, cấu trúc CPU và biến thể Android. Vị trí mặc định là:

  • macOS và Linux – ~/Library/Android/sdk/system-images/android-apiLevel/variant/arch/
  • Windows – C:\Users\user\Library\Android\sdk\system-images\android-apiLevel\variant\arch\

Trong trường hợp:

  • apiLevel là một cấp độ API dạng số hoặc một chữ cái biểu thị các bản thử nghiệm. Ví dụ: android-V cho biết Android Bản xem trước VanillaIceCream. Khi phát hành, API này trở thành API cấp 35, được chỉ định bởi android-35.
  • variant là tên tương ứng với các tính năng cụ thể do hình ảnh hệ thống triển khai. Ví dụ: google_apis hoặc android-wear.
  • arch là cấu trúc CPU mục tiêu. Ví dụ: x86.

Sử dụng tuỳ chọn -sysdir để chỉ định một thư mục hệ thống khác cho AVD.

Trình mô phỏng đọc các tệp sau trong thư mục hệ thống:

Bảng 1. Tệp thư mục hệ thống mà Trình mô phỏng Android đọc

Tệp Mô tả Tuỳ chọn để chỉ định một tệp khác
kernel-qemu hoặc kernel-ranchu Hình ảnh nhân hệ điều hành nhị phân cho AVD. kernel-ranchu dựa trên Trình mô phỏng QEMU. -kernel
ramdisk.img Hình ảnh phân vùng khởi động. Đây là tập con của system.img mà nhân hệ điều hành tải lúc đầu, trước khi hình ảnh hệ thống được gán. Tập này thường chỉ chứa một số tệp nhị phân và tập lệnh khởi chạy. -ramdisk
system.img Phiên bản ban đầu, ở chế độ chỉ đọc của hình ảnh hệ thống. Cụ thể, phân vùng chứa các thư viện hệ thống và dữ liệu tương ứng với cấp độ API và biến thể. -system
userdata.img Phiên bản ban đầu của phân vùng dữ liệu xuất hiện dưới dạng data/ trong hệ thống được mô phỏng và chứa tất cả dữ liệu có thể ghi cho AVD. Trình mô phỏng sẽ sử dụng tệp này khi bạn tạo AVD mới hoặc sử dụng tuỳ chọn ‑wipe-data. Để biết thêm thông tin, hãy xem nội dung mô tả tệp userdata-qemu.img trong phần sau. -initdata
-init-data

Thư mục dữ liệu AVD

Thư mục dữ liệu AVD, còn được gọi là thư mục nội dung, dành riêng cho một bản sao AVD duy nhất và chứa tất cả dữ liệu có thể sửa đổi cho AVD.

Vị trí mặc định như sau, trong đó name là tên AVD:

  • macOS và Linux – ~/.android/avd/name.avd/
  • Windows 10 trở lên – C:\Users\user\.android\name.avd\

Dùng tuỳ chọn -datadir để chỉ định một thư mục dữ liệu AVD khác.

Bảng sau liệt kê các tệp quan trọng nhất có trong thư mục này:

Bảng 2. Các tệp quan trọng trong thư mục dữ liệu AVD

Tệp Mô tả Tuỳ chọn để chỉ định một tệp khác
userdata-qemu.img

Nội dung của phân vùng dữ liệu, xuất hiện dưới dạng data/ trong hệ thống được mô phỏng. Khi bạn tạo một AVD mới hoặc dùng tuỳ chọn -wipe-data để đặt lại AVD về giá trị mặc định ban đầu, trình mô phỏng sẽ sao chép tệp userdata.img trong thư mục hệ thống để tạo tệp này.

Mỗi phiên bản thiết bị ảo đều sử dụng hình ảnh dữ liệu người dùng có thể ghi để lưu trữ dữ liệu theo người dùng và phiên cụ thể. Ví dụ: API này sử dụng hình ảnh để lưu trữ dữ liệu, các chế độ cài đặt, cơ sở dữ liệu và tệp của ứng dụng mà một người dùng riêng biệt đã cài đặt. Mỗi người dùng có một thư mục ANDROID_SDK_HOME khác nhau dùng để lưu trữ các thư mục dữ liệu của AVD mà người dùng đó tạo. Mỗi AVD có một tệp userdata-qemu.img duy nhất.

-data
cache.img Hình ảnh phân vùng bộ nhớ đệm, xuất hiện dưới dạng cache/ trong hệ thống được mô phỏng. Tệp này sẽ trống khi bạn tạo AVD lần đầu hoặc sử dụng tuỳ chọn -wipe-data. Đây là nơi lưu trữ các tệp tải xuống tạm thời và do trình quản lý tải xuống (đôi khi là do hệ thống) điền sẵn. Ví dụ: trình duyệt sử dụng tệp này để lưu các trang web và hình ảnh đã tải xuống vào bộ nhớ đệm trong khi trình mô phỏng đang chạy. Khi bạn tắt nguồn thiết bị ảo, tệp sẽ bị xoá. Bạn có thể giữ lại tệp này bằng cách sử dụng tuỳ chọn -cache. -cache
sdcard.img

(Không bắt buộc) Hình ảnh phân vùng thẻ SD cho phép bạn mô phỏng một thẻ SD trên thiết bị ảo. Bạn có thể tạo tệp hình ảnh thẻ SD trong Trình quản lý thiết bị ảo Android hoặc dùng công cụ mksdcard. Tệp được lưu trữ trên máy tính phát triển của bạn và phải được tải khi khởi động.

Khi chỉ định AVD trong Trình quản lý thiết bị ảo Android, bạn có thể sử dụng tệp thẻ SD được quản lý tự động hoặc tệp mà bạn đã tạo bằng công cụ mksdcard. Bạn có thể xem tệp sdcard.img liên kết với AVD trong Trình quản lý thiết bị ảo Android. Tuỳ chọn -sdcard sẽ ghi đè tệp thẻ SD được chỉ định trong AVD. Lưu ý rằng tuỳ chọn Thẻ SD này sẽ không hoạt động trên máy Mac hỗ trợ Apple Silicon.

Bạn có thể duyệt xem, gửi tệp và sao chép cũng như xoá tệp khỏi thẻ SD mô phỏng bằng cách sử dụng giao diện người dùng của trình mô phỏng hoặc tiện ích adb trong khi thiết bị ảo đang chạy. Bạn không thể xoá thẻ SD mô phỏng khỏi thiết bị ảo đang chạy.

Để sao chép các tệp vào tệp thẻ SD trước khi tải, hãy gắn tệp hình ảnh dưới dạng thiết bị lặp rồi sao chép các tệp. Bạn cũng có thể sử dụng một tiện ích như gói mtools để sao chép trực tiếp các tệp vào hình ảnh.

Trình mô phỏng coi tệp là một nhóm byte, nên định dạng thẻ SD không quan trọng.

Tuỳ chọn -wipe-data không ảnh hưởng đến tệp này. Nếu bạn muốn xoá sạch tệp, hãy xoá tệp rồi tạo lại bằng Trình quản lý thiết bị ảo Android hoặc công cụ mksdcard. Việc thay đổi kích thước tệp cũng sẽ xoá tệp và tạo tệp mới.

-sdcard

Liệt kê các thư mục và tệp mà trình mô phỏng sử dụng

Bạn có thể tìm vị trí của tệp theo 2 cách như sau:

  • Sử dụng tuỳ chọn -verbose hoặc -debug init khi bạn khởi động trình mô phỏng từ dòng lệnh. Xem kết quả.
  • Dùng lệnh emulator -help-option để liệt kê một thư mục mặc định. Ví dụ:
    emulator -help-datadir
    Use '-datadir <dir>' to specify a directory where writable image files will be searched. On this system, the default directory is: /Users/me/.android See '-help-disk-images' for more information about disk image files.

Tùy chọn khởi động dòng lệnh

Phần này liệt kê các tuỳ chọn mà bạn có thể cung cấp trên dòng lệnh khi khởi động trình mô phỏng.

Lưu ý: Trình mô phỏng Android liên tục được phát triển để trở nên đáng tin cậy hơn. Để biết trạng thái của các vấn đề được báo cáo dựa trên nhiều tuỳ chọn dòng lệnh cũng như báo cáo lỗi, hãy xem Công cụ theo dõi lỗi trên Android.

Tuỳ chọn thường dùng

Bảng sau liệt kê các tuỳ chọn khởi động dòng lệnh mà bạn có thể sử dụng thường xuyên hơn:

Bảng 3. Các tuỳ chọn thường dùng cho dòng lệnh

Tuỳ chọn dòng lệnh Mô tả
Khởi động nhanh
-no-snapshot-load Thực hiện khởi động nguội và lưu trạng thái trình mô phỏng khi thoát.
-no-snapshot-save Thực hiện khởi động nhanh nếu có thể, nhưng không lưu trạng thái trình mô phỏng khi thoát.
-no-snapshot Tắt hoàn toàn tính năng Khởi động nhanh và không tải hoặc lưu trạng thái trình mô phỏng.
Phần cứng thiết bị
-camera-back mode
-camera-front mode
Đặt chế độ mô phỏng cho máy ảnh mặt sau hoặc mặt trước. Thao tác này sẽ ghi đè mọi chế độ cài đặt máy ảnh trong AVD.

mode có thể là bất kỳ giá trị nào sau đây:

  • emulated – Trình mô phỏng mô phỏng một máy ảnh trong phần mềm.
  • webcamn – Trình mô phỏng sử dụng một webcam kết nối với máy tính bạn đang dùng để phát triển, được xác định theo số. Để biết danh sách webcam, hãy sử dụng tuỳ chọn -webcam-list. Ví dụ: webcam0.
  • none – Tắt máy ảnh trong thiết bị ảo.

Ví dụ:

emulator @Pixel8_API_34 -camera-back webcam0
-webcam-list Liệt kê các webcam có thể dùng để mô phỏng trên máy tính bạn dùng để phát triển. Ví dụ:
emulator @Pixel8_API_34 -webcam-list
        List of web cameras connected to the computer:
        Camera 'webcam0' is connected to device 'webcam0'
        on channel 0 using pixel format 'UYVY'

Trong ví dụ này, webcam0 đầu tiên là tên mà bạn sử dụng trên dòng lệnh. webcam0 thứ hai là tên mà hệ điều hành sử dụng trên máy tính đang phát triển. Tên thứ hai sẽ khác nhau tuỳ theo hệ điều hành.

Kể từ Bộ công cụ SDK 25.2.4, tên AVD là bắt buộc.

Bộ nhớ và hình ảnh đĩa
-memory size

Chỉ định kích thước RAM vật lý, từ 1536 đến 8192 MB. Ví dụ:

emulator @Pixel8_API_34 -memory 2048

Giá trị này ghi đè chế độ cài đặt AVD.

-sdcard filepath Chỉ định tên tệp và đường dẫn đến tệp hình ảnh phân vùng thẻ SD. Ví dụ:

emulator @Pixel8_API_34 -sdcard C:/sd/sdcard.img

Nếu không tìm thấy tệp, trình mô phỏng sẽ vẫn khởi chạy, nhưng không có thẻ SD. Lệnh này sẽ trả về cảnh báo No SD Card Image (Không có hình ảnh thẻ SD).

Nếu bạn không chỉ định tuỳ chọn này, giá trị mặc định sẽ là sdcard.img trong thư mục dữ liệu (trừ khi AVD chỉ định giá trị khác). Để biết thông tin chi tiết về thẻ SD mô phỏng, hãy xem phần Thư mục dữ liệu AVD.

-wipe-data Xoá dữ liệu người dùng và sao chép dữ liệu từ tệp dữ liệu ban đầu. Tuỳ chọn này sẽ xoá dữ liệu của thiết bị ảo và đưa dữ liệu về trạng thái như khi được xác định lần đầu. Mọi ứng dụng và chế độ đã cài đặt đều sẽ bị xoá. Ví dụ:

emulator @Pixel8_API_34 -wipe-data

Theo mặc định, tệp dữ liệu người dùng là userdata-qemu.img và tệp dữ liệu ban đầu là userdata.img. Cả hai tệp này đều nằm trong thư mục dữ liệu. Tuỳ chọn -wipe-data không ảnh hưởng đến tệp sdcard.img. Để biết thêm thông tin về dữ liệu người dùng, hãy xem phần Tìm hiểu về các thư mục và tệp mặc định.

Gỡ lỗi
-debug tags Bật hoặc tắt tuỳ chọn hiển thị thông báo gỡ lỗi cho một hoặc nhiều thẻ. Phân tách nhiều thẻ bằng dấu cách, dấu phẩy hoặc cột. Ví dụ:

$ emulator @Pixel8_API_34 -debug init,metrics

Để vô hiệu hoá một thẻ, hãy đặt dấu gạch ngang (-) trước thẻ đó. Ví dụ: tuỳ chọn sau đây hiển thị tất cả các thông báo gỡ lỗi, ngoại trừ những thông báo liên quan đến các cổng mạng và chỉ số:

-debug all,-socket,-metrics

Để xem danh sách các thẻ và nội dung mô tả, hãy dùng tuỳ chọn -help-debug-tags. Ví dụ:

emulator -help-debug-tags

Bạn có thể xác định các thẻ gỡ lỗi mặc định trong biến môi trường ANDROID_VERBOSE. Xác định các thẻ bạn muốn sử dụng trong danh sách được phân tách bằng dấu phẩy. Sau đây là ví dụ về cách chỉ định các thẻ socketgles:

ANDROID_VERBOSE=socket,gles

Cách này tương đương với việc sử dụng:

-debug-socket -debug-gles

hoặc

-debug socket,gles

-debug-tag
-debug-no-tag
Bật một loại thông báo gỡ lỗi cụ thể. Sử dụng biểu mẫu no để tắt một loại thông báo gỡ lỗi. Ví dụ:

emulator @Pixel8_API_34 -debug-all -debug-no-metrics

Để xem danh sách thẻ, hãy dùng lệnh emulator -help-debug-tags.

-logcat logtags Bật hiển thị thông báo Logcat cho một hoặc nhiều thẻ và ghi các thông báo đó vào cửa sổ dòng lệnh. Ví dụ: lệnh sau bật thông báo lỗi từ tất cả các thành phần:

emulator @Pixel8_API_34 -logcat *:e

logtags dùng định dạng giống như lệnh adb logcat logtags. Nhập adb logcat -help để biết thêm thông tin. Đây là danh sách các bộ lọc nhật ký được phân tách bằng dấu cách hoặc dấu phẩy của định dạng componentName:logLevel. componentName là dấu hoa thị dưới dạng ký tự đại diện (*) hoặc tên thành phần, chẳng hạn như ActivityManager, SystemServer, InputManager hoặc WindowManager.

logLevel là một trong các giá trị sau:

  • v - Chi tiết
  • d - Gỡ lỗi
  • i - Nhiều thông tin
  • w – cấp nhật ký cảnh báo
  • e - error
  • s - silent

Ví dụ sau đây cho thấy các thông báo thành phần GSM ở cấp độ nhật ký cung cấp thông tin:

emulator @Pixel8_API_34 -logcat '*:s GSM:i'

Nếu bạn không cung cấp tuỳ chọn -logcat trên dòng lệnh, trình mô phỏng sẽ tìm biến môi trường ANDROID_LOG_TAGS. Nếu bạn xác định ANDROID_LOG_TAGS có giá trị logtags hợp lệ và không để trống, thì trình mô phỏng sẽ sử dụng giá trị của nó để bật đầu ra Logcat cho thiết bị đầu cuối theo mặc định. Bạn cũng có thể chuyển hướng các thông báo tương tự hoặc thông báo khác đến thiết bị đầu cuối thông qua adb.

Để biết thêm thông tin về Logcat và adb, hãy xem các bài viết Công cụ dòng lệnh Logcat, Xem và ghi nhật ký bằng Logcat LogPhát lệnh adb.

-show-kernel Hiện thông báo gỡ lỗi cho nhân trong cửa sổ dòng lệnh. Ví dụ:

emulator @Pixel8_API_34 -show-kernel

Một công dụng của tuỳ chọn này là kiểm tra xem quy trình khởi động có hoạt động chính xác không.

-verbose In thông báo khởi chạy trình mô phỏng đến cửa sổ dòng lệnh. Ví dụ:

emulator @Pixel8_API_34 -verbose

Chế độ này cho biết những tệp và chế độ cài đặt thực sự được chọn khi khởi động một thiết bị ảo đã xác định trong AVD. Tùy chọn này giống với việc chỉ định -debug-init.

Mạng
-dns-server servers Sử dụng các máy chủ DNS được chỉ định servers là một danh sách gồm tối đa 4 tên máy chủ DNS hoặc địa chỉ IP được phân tách bằng dấu phẩy. Ví dụ:
emulator @Pixel8_API_34 -dns-server 192.0.2.0,
192.0.2.255

Theo mặc định, trình mô phỏng sẽ cố gắng phát hiện các máy chủ DNS mà bạn đang sử dụng và thiết lập các bí danh đặc biệt trong mạng tường lửa được mô phỏng để cho phép hệ thống Android kết nối trực tiếp với các máy chủ đó. Sử dụng tuỳ chọn -dns-server để chỉ định một danh sách máy chủ DNS khác.

-http-proxy proxy Thực hiện tất cả các kết nối TCP thông qua một proxy HTTP/HTTPS được chỉ định. Nếu trình mô phỏng của bạn phải truy cập vào Internet thông qua một máy chủ proxy, bạn có thể dùng tuỳ chọn này hoặc biến môi trường http_proxy để thiết lập lệnh chuyển hướng thích hợp. Ví dụ:

emulator @Pixel8_API_34 -http-proxy myserver:1981

proxy có thể có một trong những trạng thái sau đây:

http://server:port
http://username:password@server:port

Bạn có thể bỏ qua tiền tố http://.

Nếu bạn không cung cấp tùy chọn này, trình mô phỏng sẽ tra cứu biến môi trường http_proxy và tự động sử dụng bất kỳ giá trị nào khớp với định dạng proxy. Để biết thêm thông tin, hãy xem phần Sử dụng trình mô phỏng với một proxy.

-netdelay delay

Đặt quy trình mô phỏng độ trễ mạng thành một trong các giá trị delay sau đây (tính theo mili-giây):

  • gsm – GSM/CSD (tối thiểu 150, tối đa 550).
  • hscsd – HSCSD (tối thiểu 80, tối đa 400).
  • gprs – GPRS (tối thiểu 35, tối đa 200).
  • edge - EDGE/EGPRS (tối thiểu 80, tối đa 400).
  • umts – UMTS/3G (tối thiểu 35 giây, tối đa 200 người).
  • hsdpa – HSDPA (tối thiểu 0, tối đa 0).
  • lte – LTE (tối thiểu 0, tối đa 0).
  • evdo – EVDO (tối thiểu 0, tối đa 0).
  • none – Không có độ trễ, mặc định (tối thiểu 0, tối đa 0).
  • num – Chỉ định độ trễ chính xác.
  • min:max – Chỉ định độ trễ tối thiểu và tối đa riêng lẻ.

Ví dụ:

emulator @Pixel8_API_34 -netdelay gsm

Trình mô phỏng hỗ trợ tính năng hạn chế băng thông mạng cũng như các mức độ trễ kết nối cao hơn. Bạn có thể xác định giá trị này thông qua cấu hình giao diện hoặc bằng các tuỳ chọn ‑netspeed-netdelay.

-netfast Tắt tính năng hạn chế băng thông mạng. Ví dụ:

emulator @Pixel8_API_34 -netfast

Tùy chọn này giống với việc chỉ định -netspeed full -netdelay none. Đây là các giá trị mặc định cho các tuỳ chọn này.

-netspeed speed

Thiết lập quy trình mô phỏng tốc độ mạng. Chỉ định tốc độ tải lên và tải xuống tối đa cho mạng bằng một trong các giá trị speed sau (tính theo kb/giây):

  • gsm – GSM/CSD (tải lên: 14,4, tải xuống: 14,4).
  • hscsd - HSCSD (tăng: 14,4, giảm: 57,6).
  • gprs - GPRS (tăng: 28,8, giảm: 57,6).
  • edge - EDGE/EGPRS (tăng: 473,6, giảm: 473,6).
  • umts – UMTS/3G (tăng: 384,0 xuống: 384,0).
  • hsdpa – HSDPA (tăng: 5.760,0, giảm: 13.980,0).
  • lte – LTE (tăng: 58.000, giảm: 173.000).
  • evdo – EVDO (tăng lên: 75.000, giảm: 280.000).
  • full – Không giới hạn, mặc định (tải lên: 0, tải xuống: 0).
  • num – Chỉ định cả tốc độ tải lên và tốc độ tải xuống.
  • up:down – Chỉ định riêng tốc độ tải lên và tốc độ tải xuống.

Ví dụ:

emulator @Pixel8_API_34 -netspeed edge

Trình mô phỏng hỗ trợ tính năng hạn chế băng thông mạng cũng như các mức độ trễ kết nối cao hơn. Bạn có thể xác định giá trị này thông qua cấu hình giao diện hoặc bằng các tuỳ chọn ‑netspeed-netdelay.

-port port Đặt số hiệu cổng TCP dùng cho bảng điều khiển và adb. Ví dụ:

emulator @Pixel8_API_34 -port 5556

Giá trị mặc định là 5554 cho phiên bản thiết bị ảo đầu tiên chạy trên máy của bạn. Một thiết bị ảo thường chiếm một cặp cổng liền kề: cổng bảng điều khiển và cổng adb. Bảng điều khiển của thiết bị ảo đầu tiên chạy trên một máy cụ thể có sử dụng cổng bảng điều khiển 5554 và cổng adb 5555. Các phiên bản tiếp theo sẽ sử dụng số hiệu cổng với giá trị cộng thêm 2. Ví dụ: 5556/5557, 5558/5559, v.v. Phạm vi là 5554 đến 5682, cho phép sử dụng đồng thời 64 thiết bị ảo.

Việc chỉ định cổng thường giống với việc chỉ định -ports port,{port + 1}. {port + 1} phải tự do và được đặt trước cho adb. Nếu bất kỳ cổng bảng điều khiển hoặc cổng adb nào đang được sử dụng, thì trình mô phỏng sẽ không khởi động.

Tuỳ chọn ‑port sẽ báo cáo những cổng và số sê-ri mà thiết bị ảo đang sử dụng, đồng thời cảnh báo nếu có bất kỳ vấn đề nào xảy ra với các giá trị bạn đã cung cấp. Trong giao diện người dùng trình mô phỏng, bạn có thể xem số hiệu cổng của bảng điều khiển trong tiêu đề cửa sổ và xem số hiệu cổng adb bằng cách chọn Help > About (Trợ giúp > Giới thiệu).

Lưu ý rằng nếu giá trị port không phải là số chẵn và nằm trong khoảng 5554 đến 5584, thì thiết bị ảo sẽ khởi động nhưng không hiển thị khi bạn sử dụng lệnh adb devices, nếu adb server khởi động sau trình mô phỏng. Vì lý do này, bạn nên sử dụng số chẵn làm số hiệu cổng bảng điều khiển.

-ports
console-port,adb-port
Đặt các cổng TCP dùng cho bảng điều khiển và adb. Ví dụ:

emulator @Pixel8_API_34 -ports 5556,5559

Phạm vi cổng hợp lệ là 5554 đến 5682, cho phép chạy 64 thiết bị ảo đồng thời. Tuỳ chọn -ports sẽ báo cáo những cổng và số sê-ri mà phiên bản trình mô phỏng đang sử dụng, đồng thời cảnh báo nếu có vấn đề với các giá trị bạn đã cung cấp.

Bạn nên sử dụng tuỳ chọn -port nếu có thể. Tuỳ chọn -ports dành cho những cấu hình mạng yêu cầu các chế độ cài đặt đặc biệt.

Để biết thêm thông tin về cách đặt cổng bảng điều khiển và cổng adb, hãy xem tuỳ chọn -port.

-tcpdump filepath Ghi lại gói tin mạng và lưu trữ trong tệp. Ví dụ:

emulator @Pixel8_API_34 -tcpdump /path/dumpfile.cap

Sử dụng tuỳ chọn này để bắt đầu ghi lại tất cả các gói tin mạng gửi qua mạng Ethernet LAN ảo của trình mô phỏng. Sau đó, bạn có thể sử dụng một công cụ như Wireshark để phân tích lưu lượng truy cập.

Lưu ý rằng tuỳ chọn này ghi lại tất cả các gói Ethernet chứ không giới hạn ở kết nối TCP.

Hệ thống
-accel mode Định cấu hình tính năng tăng tốc máy ảo trên trình mô phỏng. Ví dụ:

emulator @Pixel8_API_34 -accel auto

Mô phỏng nhanh chỉ hoạt động cho hình ảnh hệ thống x86 và x86_64. Trên Linux, máy chủ này dựa vào KVM. Trên máy chạy Windows và Mac, phụ thuộc vào CPU Intel và trình điều khiển Intel HAXM. Tùy chọn này bị bỏ qua nếu bạn không mô phỏng thiết bị x86 hoặc x86_64.

Các giá trị hợp lệ cho mode là:

  • auto – Xác định tự động nếu tính năng tăng tốc được hỗ trợ và sử dụng tính năng này khi có thể (mặc định).
  • off – Tắt hẳn tính năng tăng tốc (chế độ này chủ yếu hữu ích khi gỡ lỗi).
  • on – Buộc tăng tốc. Nếu bạn không cài đặt hoặc sử dụng được KVM hay HAXM, thì trình mô phỏng sẽ không khởi động và in thông báo lỗi.

Để biết thêm thông tin, hãy xem phần Định cấu hình tăng tính năng tốc phần cứng cho Trình mô phỏng Android.

-accel-check Kiểm tra xem bạn đã cài đặt trình điều khiển ảo hoá bắt buộc cho tính năng tăng tốc máy ảo của trình mô phỏng hay chưa (HAXM hoặc KVM). Ví dụ:

emulator -accel-check

Để biết thêm thông tin, hãy xem phần Kiểm tra xem đã cài đặt trình điều khiển ảo hoá chưa.

-engine engine

Chỉ định công cụ mô phỏng:

  • auto – Tự động chọn một công cụ (mặc định).
  • classic – Sử dụng công cụ QEMU 1 cũ (không dùng nữa).
  • qemu2 – Sử dụng công cụ QEMU 2 mới.

Ví dụ:

emulator @Pixel8_API_34 -engine auto

Tính năng tự động phát hiện phải chọn giá trị mang lại hiệu quả cao nhất khi mô phỏng một AVD cụ thể. Chỉ sử dụng tuỳ chọn -engine cho mục đích gỡ lỗi và so sánh.

-gpu mode Chọn chế độ mô phỏng GPU. Ví dụ:

emulator @Pixel8_API_34 -gpu swiftshader_indirect

Để biết thêm thông tin, hãy xem phần Định cấu hình tăng tốc đồ hoạ.

-no-accel Tắt tính năng tăng tốc máy ảo trên trình mô phỏng khi đang sử dụng hình ảnh hệ thống x86 hoặc x86_64. Đoạn mã này chỉ hữu ích khi gỡ lỗi và giống như khi bạn chỉ định -accel off. Ví dụ:

emulator @Pixel8_API_34 -no-accel

Để biết thêm thông tin, hãy xem phần Định cấu hình tăng tính năng tốc phần cứng cho Trình mô phỏng Android.

-nojni
-no-jni
Tắt các tuỳ chọn kiểm tra Giao diện gốc Java (JNI) mở rộng trong thời gian chạy Android Dalvik hoặc ART. Ví dụ:

emulator @Pixel8_API_34 -nojni

Khi bạn khởi động một thiết bị ảo, tính năng kiểm tra JNI mở rộng sẽ được bật theo mặc định. Để biết thêm thông tin, hãy xem bài viết Mẹo về JNI.

-selinux {disabled|permissive} Đặt mô-đun bảo mật Security-Enhanced Linux (SELinux) thành chế độ disabled hoặc permissive trên hệ điều hành Linux. Ví dụ:

me-linux$ emulator @Pixel8_API_34 -selinux permissive

Theo mặc định, SELinux đang ở chế độ enforcing, nghĩa là chính sách bảo mật được thực thi. Chế độ permissive sẽ tải chính sách SELinux nhưng không thực thi chính sách này. Tuỳ chọn này chỉ ghi lại các trường hợp vi phạm chính sách vào nhật ký. Chế độ disabled sẽ tắt tính năng hỗ trợ nhân cho SELinux.

-timezone timezone

Đặt múi giờ cho thiết bị ảo thành timezone thay vì múi giờ của máy chủ. Ví dụ:

emulator @Pixel8_API_34 -timezone Europe/Paris

Theo mặc định, trình mô phỏng sử dụng múi giờ như trên máy tính bạn dùng để phát triển. Hãy sử dụng tuỳ chọn này để chỉ định một múi giờ khác hoặc nếu tính năng phát hiện tự động không hoạt động chính xác. Giá trị timezone phải ở định dạng zoneinfo (tức là area/location hoặc area/subarea/location). Ví dụ:

  • America/Los_Angeles
  • Europe/Paris
  • America/Argentina/Buenos_Aires

Múi giờ được chỉ định phải nằm trong cơ sở dữ liệu zoneinfo.

-version Hiển thị số hiệu phiên bản của trình mô phỏng. Ví dụ:

emulator @Pixel8_API_34 -version

Hoặc

emulator -version
Giao diện người dùng
-no-boot-anim Tắt ảnh động khởi động trong quá trình khởi động của trình mô phỏng để khởi động nhanh hơn. Ví dụ:

emulator @Pixel8_API_34 -no-boot-anim

Trên các máy tính chậm hơn, tuỳ chọn này có thể tăng tốc đáng kể quá trình khởi động.

-screen mode Đặt chế độ màn hình cảm ứng được mô phỏng. Ví dụ:

emulator @Pixel8_API_34 -screen no-touch

mode có thể là bất kỳ giá trị nào sau đây:

  • touch – Mô phỏng màn hình cảm ứng (mặc định).
  • multi-touch – Mô phỏng một màn hình cảm ứng đa điểm.
  • no-touch – Tắt tính năng mô phỏng màn hình cảm ứng và cảm ứng đa điểm.

Tuỳ chọn nâng cao

Bảng sau trình bày các tuỳ chọn khởi động dòng lệnh hiện có nhưng ít được nhà phát triển ứng dụng thông thường sử dụng.

Trong phần mô tả, thư mục làm việc là thư mục hiện tại trong thiết bị đầu cuối mà bạn đang dùng để nhập lệnh. Để biết thông tin về thư mục hệ thống và thư mục dữ liệu AVD, cũng như các tệp được lưu trữ trong đó, hãy xem bài viết thư mục và tệp mặc định.

Một số tuỳ chọn trong số này phù hợp với các nhà phát triển ứng dụng bên ngoài, còn một số tuỳ chọn lại chủ yếu dành cho các nhà phát triển nền tảng. Nhà phát triển ứng dụng tạo các ứng dụng Android và chạy những ứng dụng này trên các AVD cụ thể. Nhà phát triển nền tảng làm việc trên hệ thống Android và chạy hệ thống bên trong trình mô phỏng mà không có AVD được tạo sẵn.

Bảng 4. Các tuỳ chọn nâng cao cho dòng lệnh

Tuỳ chọn nâng cao Mô tả ngắn
-bootchart timeout

Bật biểu đồ khởi động với thời gian chờ tính bằng giây. Một số hình ảnh hệ thống Android có hệ thống khởi tạo đã sửa đổi và hệ thống này tích hợp công cụ lập biểu đồ khởi động. Bạn có thể chuyển khoảng thời gian chờ biểu đồ khởi động cho hệ thống bằng tùy chọn này. Nếu hệ thống init của bạn chưa kích hoạt biểu đồ khởi động, thì tùy chọn này sẽ không hoạt động. Tùy chọn này chủ yếu hữu ích cho các nhà phát triển nền tảng chứ không phải cho các nhà phát triển ứng dụng bên ngoài.

Ví dụ:

emulator @Pixel8_API_34 -bootchart 120
-cache filepath

Chỉ định tệp hình ảnh phân vùng bộ nhớ đệm. Cung cấp tên tệp và đường dẫn tuyệt đối hoặc đường dẫn tương đối đến thư mục dữ liệu để thiết lập tệp bộ nhớ đệm ổn định. Nếu tệp không tồn tại, trình mô phỏng sẽ tạo tệp dưới dạng tệp trống.

Ví dụ:

emulator @Pixel8_API_34 -cache
   ~/.android/avd/Pixel8_API_34.avd/cache_persistent.img

Nếu bạn không sử dụng tuỳ chọn này, giá trị mặc định sẽ là tệp tạm thời có tên cache.img. Để biết thêm thông tin, hãy xem phần Thư mục dữ liệu AVD.

-cache-size size

Đặt kích thước phân vùng bộ nhớ đệm tính theo MB.

Ví dụ:

emulator @Pixel8_API_34 -cache-size 1000

Nếu bạn không chỉ định tuỳ chọn này, thì kích thước mặc định sẽ là 66 MB. Thông thường, hầu hết các nhà phát triển ứng dụng đều không cần tuỳ chọn này, trừ phi họ cần tải các tệp rất lớn có kích thước lớn hơn bộ nhớ đệm mặc định. Để biết thêm thông tin về tệp bộ nhớ đệm, hãy xem phần Thư mục dữ liệu AVD.

-data filepath

Đặt tệp hình ảnh phân vùng dữ liệu người dùng. Cung cấp tên tệp và đường dẫn tuyệt đối hoặc đường dẫn tương đối đến thư mục đang làm việc để thiết lập tệp dữ liệu người dùng lâu dài. Nếu tệp này không tồn tại, trình mô phỏng sẽ tạo một hình ảnh từ tệp userdata.img mặc định, lưu trữ hình ảnh đó trong tên tệp mà bạn đã chỉ định, đồng thời giữ nguyên dữ liệu người dùng cho tệp khi tắt.

Ví dụ:

emulator @Pixel8_API_34 -data
   ~/.android/avd/Pixel8_API_34.avd/userdata-test.img

Nếu bạn không sử dụng tuỳ chọn này, giá trị mặc định sẽ là tệp có tên userdata-qemu.img. Để biết thêm thông tin về tệp dữ liệu người dùng, hãy xem phần Thư mục dữ liệu AVD.

-datadir dir

Chỉ định thư mục dữ liệu bằng đường dẫn tuyệt đối. Để biết thêm thông tin, hãy xem phần Thư mục dữ liệu AVD.

Ví dụ:

emulator @Pixel8_API_34 -datadir
   ~/.android/avd/Pixel8_API_34.avd/mytest
-force-32bit

Sử dụng trình mô phỏng 32 bit trên các nền tảng 64 bit. Đôi khi, tuỳ chọn này cũng hữu ích khi kiểm thử hoặc gỡ lỗi. Ví dụ: khi có một vấn đề xảy ra, trong đó trình mô phỏng đôi khi không chạy trên Windows 64 bit, nhưng lại chạy trên 32 bit. Tuỳ chọn này hữu ích khi thực hiện các phép so sánh để khắc phục vấn đề. Ví dụ như sau:

emulator @Pixel8_API_34 -force-32bit
-help-disk-images

Nhận trợ giúp về hình ảnh đĩa. Tuỳ chọn này cung cấp thông tin liên quan đến cả nhà phát triển ứng dụng và nhà phát triển nền tảng. Ví dụ:

emulator -help-disk-images
-help-char-devices

Nhận trợ giúp về thông số kỹ thuật device của ký tự. Một số tuỳ chọn trình mô phỏng bắt buộc phải có tham số device. Ví dụ:

emulator -help-char-devices
-help-sdk-images

Nhận trợ giúp về hình ảnh đĩa có liên quan đến nhà phát triển ứng dụng. Tuỳ chọn này lấy thông tin về vị trí của tệp hình ảnh cho một AVD được tạo bằng bộ công cụ SDK. Ví dụ:

emulator -help-sdk-images
-help-build-images

Nhận trợ giúp về hình ảnh đĩa có liên quan đến các nhà phát triển nền tảng. Ví dụ:

emulator -help-build-images
-initdata filepath
-init-data filepath

Chỉ định phiên bản ban đầu của phân vùng dữ liệu. Sau khi xoá dữ liệu người dùng, trình mô phỏng sẽ sao chép nội dung của tệp đã chỉ định vào dữ liệu người dùng (theo mặc định là tệp userdata-qemu.img) thay vì sử dụng tệp userdata.img mặc định như phiên bản ban đầu. Cung cấp tên tệp và một đường dẫn tuyệt đối hoặc một đường dẫn tương đối đến thư mục đang làm việc.

Ví dụ:

emulator @Pixel8_API_34 -initdata
   ~/Library/Android/sdk/system-images/android-34/
   google_apis/x86_64/userdata-test.img

Nếu bạn không chỉ định đường dẫn, trình mô phỏng sẽ đặt tệp trong thư mục hệ thống. Để biết thêm thông tin, hãy xem phần Thư mục hệ thống AVD.

-kernel filepath

Sử dụng một nhân mô phỏng cụ thể. Nếu bạn không chỉ định đường dẫn, trình mô phỏng sẽ tìm trong thư mục hệ thống.

Sử dụng tuỳ chọn ‑show‑kernel để xem các thông báo gỡ lỗi cho nhân.

Ví dụ:

emulator @Pixel8_API_34 -kernel
   ~/Library/Android/sdk/system-images/android-34/
   google_apis/x86_64/kernel-test.img -show-kernel

Nếu bạn không chỉ định tuỳ chọn này, giá trị mặc định sẽ là kernel-ranchu. Để biết thêm thông tin, hãy xem phần Thư mục hệ thống AVD.

-noaudio
-no-audio

Tắt chức năng hỗ trợ âm thanh cho thiết bị ảo này. Một số máy tính Linux và Windows có trình điều khiển âm thanh bị lỗi gây ra nhiều biểu hiện, chẳng hạn như việc trì hoãn trình mô phỏng khởi động. Trong trường hợp này, hãy sử dụng tuỳ chọn này để khắc phục vấn đề. Ngoài ra, bạn có thể sử dụng biến môi trường QEMU_AUDIO_DRV để thay đổi phần phụ trợ âm thanh.

Ví dụ:

emulator @Pixel8_API_34 -noaudio
-nocache
-no-cache

Khởi động trình mô phỏng mà không cần phân vùng bộ nhớ đệm. Nếu bạn không sử dụng tuỳ chọn này, giá trị mặc định sẽ là tệp tạm thời có tên cache.img. Tùy chọn này chỉ dành cho các nhà phát triển nền tảng. Để biết thêm thông tin, hãy xem bài viết về thư mục dữ liệu AVD.

Ví dụ:

emulator @Pixel8_API_34 -nocache
-no-snapshot

Ngăn cả hai thao tác tải và lưu tự động, khiến trình mô phỏng phải thực thi quá trình khởi động đầy đủ và mất trạng thái khi đóng. Thao tác này sẽ ghi đè tuỳ chọn -snapshot.

Ví dụ:

emulator @Pixel8_API_34 -no-snapshot
-no-snapshot-load

Ngăn trình mô phỏng tải trạng thái AVD từ bộ nhớ chụp nhanh. Thực hiện quá trình khởi động đầy đủ.

Ví dụ:

emulator @Pixel8_API_34 -no-snapshot-load
-no-snapshot-save

Ngăn trình mô phỏng lưu trạng thái AVD vào ảnh chụp nhanh khi thoát, tức là mọi thay đổi sẽ bị mất.

Ví dụ:

emulator @Pixel8_API_34 -no-snapshot-save
-no-snapshot-update-time

Không nên cố gắng sửa thời gian theo đồng hồ AVD ngay khi khôi phục ảnh chụp nhanh. Tuỳ chọn này có thể hữu ích cho bạn trong quá trình kiểm thử vì giúp tránh hiện tượng đột ngột chuyển đổi. Tuy nhiên, cứ sau 15 giây, thông tin cập nhật về thời gian vẫn được gửi đến AVD.

Ví dụ:

emulator @Pixel8_API_34 -no-snapshot-update-time
-no-snapstorage

Khởi động trình mô phỏng mà không cần kết nối một tệp với mục đích lưu trữ hoặc tải ảnh chụp nhanh trạng thái, buộc khởi động đầy đủ và tắt chức năng chụp nhanh trạng thái. Tuỳ chọn này sẽ ghi đè tuỳ chọn -snapstorage-snapshot.

Ví dụ:

emulator @Pixel8_API_34 -no-snapstorage
-no-window

Tắt chế độ hiển thị cửa sổ đồ hoạ trên trình mô phỏng. Tuỳ chọn này hữu ích khi chạy trình mô phỏng trên các máy chủ không có màn hình. Bạn có thể truy cập vào trình mô phỏng thông qua adb hoặc bảng điều khiển. Ví dụ:

emulator @Pixel8_API_34 -no-window
-partition-size size

Chỉ định kích thước (tính theo MB) của phân vùng dữ liệu hệ thống. Ví dụ:

emulator @Pixel8_API_34 -partition-size 1024
-prop name=value

Đặt một thuộc tính hệ thống Android trong trình mô phỏng khi khởi động. name phải là tên thuộc tính có nhãn là qemu_prop với độ dài tối đa 32 ký tự, không có dấu cách và value phải là một chuỗi dài tối đa 92 ký tự. Để biết ví dụ, hãy xem phần tệp property_contexts. Bạn có thể chỉ định nhiều tuỳ chọn ‑prop trên một dòng lệnh. Tùy chọn này có thể hữu ích khi gỡ lỗi. Ví dụ:

emulator @Pixel8_API_34 -prop qemu.name=value -prop qemu.abc=xyz
-qemu args Chuyển đối số đến phần mềm mô phỏng QEMU. Khi sử dụng tuỳ chọn này, hãy đảm bảo đó là tuỳ chọn cuối cùng được chỉ định, vì tất cả các tuỳ chọn sau đó đều được diễn giải là các tuỳ chọn dành riêng cho QEMU. Đây là tuỳ chọn tương đối nâng cao và chỉ nên được sử dụng bởi các nhà phát triển thành thạo QEMU mô phỏng Android.
-qemu -h

Hiển thị thông tin trợ giúp về -qemu. Ví dụ:

emulator -qemu -h
-ramdisk filepath

Chỉ định hình ảnh khởi động ổ đĩa RAM. Cung cấp tên tệp và một đường dẫn tuyệt đối hoặc một đường dẫn tương đối đến thư mục đang làm việc.

Ví dụ:

emulator @Pixel8_API_34 -ramdisk
   ~/Library/Android/sdk/system-images/android-34/
   google_apis/x86_64/ramdisk-test.img

Nếu bạn không sử dụng tuỳ chọn này, giá trị mặc định sẽ là tệp ramdisk.img trong thư mục hệ thống. Để biết thêm thông tin, hãy xem phần Thư mục hệ thống AVD.

-report-console socket

Báo cáo cổng bảng điều khiển cho một bên thứ ba từ xa trước khi bắt đầu mô phỏng. Việc này có thể hữu ích cho kịch bản kiểm tra tự động. socket phải sử dụng một trong các định dạng sau:

  • tcp:port[,server][,max=seconds][,ipv6]
  • unix:port[,server][,max=seconds][,ipv6]

Để biết thêm thông tin, hãy sử dụng tuỳ chọn -help-report-console như mô tả trong phần trợ giúp cho các tuỳ chọn cụ thể.

-shell

Tạo bảng điều khiển shell gốc trên thiết bị đầu cuối hiện tại. Tuỳ chọn này khác với lệnh adb shell ở những điểm sau:

  • Tuỳ chọn này tạo một shell gốc, cho phép bạn sửa đổi nhiều phần của hệ thống.
  • Tuỳ chọn này vẫn hoạt động ngay cả khi adb daemon trong hệ thống mô phỏng bị hỏng.
  • Nhấn tổ hợp phím Control+C (hoặc Command-C trên macOS) để dừng trình mô phỏng thay vì dừng shell.

Ví dụ:

emulator @Pixel8_API_34 -shell
-snapshot name

Chỉ định tên ảnh chụp nhanh trong một tệp lưu trữ ảnh chụp nhanh dành cho các thao tác bắt đầu và lưu tự động.

Thay vì thực thi một trình tự khởi động đầy đủ, trình mô phỏng có thể tiếp tục thực thi từ ảnh chụp nhanh trạng thái trước đó. Việc này thường nhanh hơn đáng kể. Khi bạn cung cấp tuỳ chọn này, trình mô phỏng sẽ tải ảnh chụp nhanh của tên đó từ hình ảnh chụp nhanh và lưu lại dưới cùng một tên khi thoát.

Nếu bạn không dùng tuỳ chọn này, giá trị mặc định sẽ là trình từ khởi động đầy đủ. Nếu ảnh chụp nhanh được chỉ định không tồn tại, thì trình mô phỏng sẽ thực hiện một quá trình khởi động đầy đủ và thực hiện thao tác lưu.

Xem tuỳ chọn -snapstorage để biết thông tin về cách chỉ định tệp lưu trữ ảnh chụp nhanh và tệp mặc định.

emulator @Pixel8_API_34 -snapshot snapshot2

Hãy lưu ý rằng trong quá trình tải ảnh chụp nhanh, mọi nội dung hiện tại của hệ thống, dữ liệu người dùng và hình ảnh thẻ SD sẽ bị thay thế bằng nội dung tương ứng tại thời điểm tạo ảnh chụp nhanh. Trừ khi bạn lưu thông tin này trong một ảnh chụp nhanh khác, mọi thay đổi kể từ thời điểm đó sẽ bị mất.

Bạn cũng có thể tạo ảnh chụp nhanh từ bảng điều khiển trình mô phỏng bằng cách sử dụng lệnh avd snapshot save name. Để biết thêm thông tin, hãy xem bài viết Gửi lệnh từ bảng điều khiển của Trình mô phỏng.

-snapshot-list

Hiện danh sách các ảnh chụp nhanh hiện có. Lệnh này sẽ in một bảng gồm các ảnh chụp nhanh được lưu trữ trong tệp lưu trữ ảnh chụp nhanh dùng để bắt đầu trình mô phỏng, sau đó thoát. Nếu bạn cũng chỉ định -snapstorage file, lệnh này sẽ in một bảng gồm các ảnh chụp nhanh được lưu trữ trong tệp.

Ví dụ:

emulator @Pixel8_API_34 -snapshot-list -snapstorage
   ~/.android/avd/Pixel8_API_34.avd/snapshots-test.img

Bạn có thể sử dụng giá trị cột ID và TAG trong dữ liệu đầu ra làm đối số cho tuỳ chọn -snapshot.

-snapstorage filepath

Chỉ định một tệp lưu trữ chứa tất cả các ảnh chụp nhanh trạng thái. Tệp này sẽ lưu trữ tất cả các ảnh chụp nhanh được tạo trong quá trình thực thi. Bạn chỉ có thể khôi phục các ảnh chụp nhanh trong tệp này khi chạy trình mô phỏng.

Ví dụ:

emulator @Pixel8_API_34 -snapstorage
   ~/.android/avd/Pixel8_API_34.avd/snapshots-test.img

Nếu bạn không chỉ định tuỳ chọn này, giá trị mặc định sẽ là snapshots.img trong thư mục dữ liệu. Nếu tệp được chỉ định không tồn tại, trình mô phỏng sẽ khởi động, nhưng không hỗ trợ lưu hoặc tải các ảnh chụp nhanh trạng thái.

-sysdir dir

Chỉ định thư mục hệ thống bằng đường dẫn tuyệt đối. Để biết thêm thông tin, hãy xem phần Thư mục hệ thống AVD. Ví dụ:

emulator @Pixel8_API_34 -sysdir
   ~/Library/Android/sdk/system-images/android-34/
   google_apis/x86_64/test
-system filepath

Chỉ định tệp hệ thống ban đầu. Cung cấp tên tệp và một đường dẫn tuyệt đối hoặc một đường dẫn tương đối đến thư mục đang làm việc.

Ví dụ:

emulator @Pixel8_API_34 -system
   ~/Library/Android/sdk/system-images/android-34/
   google_apis/x86_64/system-test.img

Nếu bạn không sử dụng tuỳ chọn này, giá trị mặc định sẽ là tệp system.img trong thư mục hệ thống. Để biết thêm thông tin, hãy xem phần Thư mục hệ thống AVD.

-use-system-libs

Trên Linux, hãy sử dụng hệ thống libstdc++ thay vì phiên bản được đóng gói trong hệ thống trình mô phỏng. Chỉ sử dụng tuỳ chọn này nếu trình mô phỏng không khởi động bình thường. Đồng thời, hãy lưu ý rằng tuỳ chọn này không phải lúc nào cũng hoạt động. Ngoài ra, hãy đặt biến môi trường ANDROID_EMULATOR_USE_SYSTEM_LIBS thành 1.

Ví dụ:

me-linux$ emulator @Pixel8_API_34 -use-system-libs
-writable-system

Sử dụng tùy chọn này để có hình ảnh hệ thống có thể ghi trong phiên mô phỏng. Cách làm như sau:

  1. Khởi động thiết bị ảo với tuỳ chọn -writable-system.
  2. Nhập lệnh adb remount từ một thiết bị đầu cuối của lệnh để yêu cầu trình mô phỏng gắn lại system/ ở chế độ đọc/ghi. Theo mặc định, giá tị này sẽ được gắn ở chế độ chỉ đọc.

Việc sử dụng cờ này sẽ tạo một bản sao tạm thời của hình ảnh hệ thống. Bản sao này có thể có kích thước rất lớn, lên đến vài trăm MB, nhưng sẽ bị huỷ khi trình mô phỏng thoát.

Tuỳ chọn không dùng nữa

Các tuỳ chọn dòng lệnh sau không còn được dùng nữa:

  • -audio-in
  • -audio-out
  • -charmap
  • -code-profile
  • -cpu-delay
  • -dpi-device
  • -dynamic_skin
  • -enable-kvm
  • -gps
  • -image
  • -keyset
  • -help-keys
  • -help-keyset-file
  • -nand-limits
  • -noskin
  • -no-skin
  • -onion
  • -onion-alpha
  • -onion-rotation
  • -radio
  • -ranchu
  • -raw-keys
  • -scale
  • -shared-net-id
  • -shell-serial
  • -skin
  • -skindir
  • -trace
  • -useaudio

Nhận trợ giúp về các tuỳ chọn dòng lệnh

Phần này mô tả cách nhận trợ giúp về các tuỳ chọn dòng lệnh. Phần này cung cấp thông tin chi tiết hơn về các tuỳ chọn dòng lệnh sẵn có thường được dùng khi bạn khởi động trình mô phỏng.

Liệt kê tất cả các tuỳ chọn của trình mô phỏng

Để in danh sách tất cả các tuỳ chọn trình mô phỏng, bao gồm cả thông tin mô tả ngắn, hãy nhập lệnh sau:

emulator -help

Nhận trợ giúp chi tiết về một tuỳ chọn cụ thể

Để in thông tin trợ giúp cho một tuỳ chọn khởi động cụ thể, hãy nhập lệnh sau:

emulator -help-option

Ví dụ:

emulator -help-netspeed

Thông tin trợ giúp này trình bày chi tiết hơn so với phần mô tả mà tuỳ chọn -help cung cấp.

Nhận trợ giúp chi tiết về tất cả các tuỳ chọn

Để nhận trợ giúp chi tiết cho tất cả các tuỳ chọn trình mô phỏng, hãy nhập lệnh sau:

emulator -help-all

Liệt kê các biến môi trường của trình mô phỏng

Để nhận danh sách các biến môi trường của trình mô phỏng, hãy nhập lệnh sau:

emulator -help-environment

Bạn có thể thiết lập các biến môi trường trong cửa sổ dòng lệnh trước khi khởi chạy thiết bị ảo hoặc có thể thiết lập thông qua tuỳ chọn cài đặt người dùng trong hệ điều hành. Ví dụ: thiết lập trong tệp .bashrc trên Linux.

Liệt kê các thẻ gỡ lỗi

Để in danh sách thẻ cho các tuỳ chọn -debug, hãy nhập lệnh sau:

emulator -help-debug-tags

Các tuỳ chọn -debug cho phép bạn bật hoặc tắt thông báo gỡ lỗi từ các thành phần cụ thể của trình mô phỏng, theo chỉ định của các thẻ.