Khắc phục các vấn đề đã biết với Trình mô phỏng Android

Trang này liệt kê các vấn đề đã biết, cách giải quyết và mẹo khắc phục sự cố dành cho Trình mô phỏng Android. Nếu bạn gặp một vấn đề không có trong danh sách hoặc các giải pháp được liệt kê ở đây không hiệu quả, hãy báo cáo lỗi.

Sự cố chung


Kiểm tra dung lượng ổ đĩa

Để tránh sự cố và bị treo do thiếu dung lượng ổ đĩa trống, khi khởi động, trình mô phỏng sẽ kiểm tra xem ổ đĩa có đủ dung lượng trống hay không và sẽ không khởi động, trừ phi có ít nhất 5 GB trống. Nếu trình mô phỏng không khởi động, hãy kiểm tra xem dung lượng ổ đĩa trống có đủ sử dụng chưa.

Phần mềm diệt vi rút

Vì nhiều gói phần mềm bảo mật và diệt virus hoạt động bằng cách theo dõi mọi thao tác đọc và ghi, nên việc sử dụng phần mềm này có thể làm giảm hiệu suất của những công cụ như Trình mô phỏng Android.

Nhiều gói chống vi-rút cung cấp khả năng thêm các ứng dụng cụ thể vào danh sách các ứng dụng đáng tin cậy, cho phép các ứng dụng này hoạt động mà không làm giảm hiệu suất. Nếu gặp phải vấn đề về hiệu suất kém khi lưu hoặc tải ảnh chụp nhanh AVD, bạn có thể cải thiện bằng cách thêm ứng dụng Trình mô phỏng Android vào danh sách ứng dụng đáng tin cậy của phần mềm diệt vi-rút.

Hiệu quả hoạt động của các gói phần mềm diệt vi-rút sẽ khác nhau. Nếu đã cài đặt phần mềm diệt vi-rút bổ sung ngoài phần mềm đi kèm hệ điều hành, bạn có thể chạy các hoạt động kiểm thử đơn giản để xác định phần mềm diệt vi-rút nào hiệu quả hơn trong việc tải trình mô phỏng và lưu các thao tác.

Một số phần mềm diệt vi-rút có thể không tương thích với Trình mô phỏng Android.

Nếu bạn đang sử dụng phần mềm Avast và gặp sự cố khi chạy Trình mô phỏng Android, hãy thử tắt chế độ cài đặt Use nested virtualization when available (Sử dụng tính năng ảo hoá lồng nhau nếu có) và Enable Hardware assisted virtualization (Bật tính năng phần cứng hỗ trợ ảo hoá) trong phần cài đặt Troubleshooting (Khắc phục sự cố) của Avast. Ngoài ra, sau khi tắt tính năng ảo hoá phần cứng của Avast, hãy đảm bảo rằng HAXM được thiết lập đúng cách một lần nữa bằng cách cài đặt lại toàn bộ HAXM mới nhất trên Trình quản lý SDK.

Trên Windows, đôi khi AVD bị treo khi được cài đặt HAXM, bạn có thể gỡ cài đặt hoàn toàn McAfee để giải quyết vấn đề này.

Windows: Dung lượng RAM trống và RAM dự trữ

Khi khởi động, trình mô phỏng cần khởi động RAM của hệ điều hành khách Android. Trên Windows, trình mô phỏng yêu cầu Windows chịu trách nhiệm cho toàn bộ kích thước bộ nhớ khách tại thời điểm khởi động, ngay cả nếu bộ nhớ có thể được phân trang theo yêu cầu khi thao tác thực. Trình mô phỏng yêu cầu toàn bộ dung lượng bộ nhớ khách tại thời điểm khởi động vì Windows rất thận trọng trong việc đảm bảo đủ dung lượng RAM thực và tệp pagefile để lưu trữ toàn bộ tập hợp hoạt động có thể hiện hữu. Thao tác này nhằm chuẩn bị cho trường hợp xấu nhất khi tất cả bộ nhớ khách được sử dụng quá nhanh chóng mà không có bất kỳ cơ hội nào để loại bỏ hoặc giải phóng.

Đôi lúc, khi trình mô phỏng yêu cầu Windows phải có sẵn toàn bộ kích thước bộ nhớ khách, yêu cầu đó sẽ vượt quá giới hạn dự trữ hiện tại – giới hạn này là tổng dung lượng RAM thực và tệp pagefile có sẵn. Trong trường hợp này, Windows không thể đảm bảo rằng dung lượng RAM vật lý hoặc tệp pagefile có thể chứa tập hợp hoạt động, dẫn đến việc trình mô phỏng không khởi động được.

Trong các trường hợp thông thường, dung lượng ổ đĩa cứng được phân bổ cho tệp pagefile cộng với RAM vật lý đủ dùng cho hầu hết các trường hợp sử dụng trình mô phỏng. Tuy nhiên, nếu bạn gặp lỗi khi khởi động trình mô phỏng do vượt quá giới hạn dự trữ, bạn nên kiểm tra dung lượng RAM dự trữ hiện tại. Bạn có thể xem thông tin này tại thẻ Performance (Hiệu suất) của Trình quản lý tác vụ Windows. Để mở Trình quản lý tác vụ, hãy nhấn tổ hợp phím Ctrl+Shift+Esc.

Bạn có thể giảm khả năng vượt quá giới hạn dự trữ theo nhiều cách:

  • Giải phóng dung lượng RAM vật lý trước khi chạy trình mô phỏng bằng cách đóng các ứng dụng và tệp không dùng đến.
  • Tắt các phần mềm tiện ích quản lý và nén bộ nhớ của bên thứ ba. Các phần mềm tiện ích này có thể vượt quá dung lượng RAM dự trữ và đưa hệ thống đến gần hơn giới hạn dự trữ.
  • Sử dụng tính năng kích thước do hệ thống quản lý dành cho tệp pagefile của Windows có thể tăng kích thước một cách linh hoạt (đồng thời mở rộng giới hạn dự trữ) để đáp ứng nhu cầu gia tăng của trình mô phỏng và các ứng dụng.

    Để biết thêm thông tin về dung lượng RAM dự trữ và lý do vì sao sử dụng chế độ cài đặt linh hoạt sẽ hiệu quả nhất, hãy tham khảo bài viết này của Microsoft.

Chế độ cảm ứng nhiều điểm chạm không hoạt động trong cửa sổ công cụ

Các cử chỉ nhiều điểm chạm, bao gồm cả thao tác kéo bằng 2 ngón tay, sẽ không hoạt động khi trình mô phỏng đang chạy trong cửa sổ công cụ. Để bật chế độ cảm ứng nhiều điểm chạm, bạn cần chạy trình mô phỏng trong một cửa sổ riêng.

Trình mô phỏng làm giảm chất lượng đầu ra âm thanh Bluetooth

Nếu đang sử dụng tai nghe Bluetooth, bạn có thể nhận thấy đầu ra âm thanh của tai nghe Bluetooth bị giảm chất lượng khi trình mô phỏng chạy (vấn đề 183139207). Điều này xảy ra vì khi trình mô phỏng chạy, trình mô phỏng sẽ bật micrô của tai nghe. Do đó, tai nghe sẽ chuyển về chế độ duplex có chất lượng giảm.

Để tránh điều này, bạn có thể tắt micrô trong trình mô phỏng bằng cách thêm hw.audioInput=no vào tệp config.ini của Thiết bị Android ảo (AVD). Để tìm tệp config.ini của AVD, hãy chuyển đến AVD trong Trình quản lý thiết bị, nhấp vào trình đơn mục bổ sung, rồi chọn Show on Disk (Hiển thị trên ổ đĩa).

Thiết bị Android ảo không chạy được trên ChromeOS

Trên ChromeOS, các Thiết bị Android ảo (AVD) có thể không chạy được vì bị thiếu phần phụ thuộc libnss3. Để chạy AVD thành công, hãy chạy sudo apt install libnss3 để cài đặt thư viện libnss3 theo cách thủ công.

Cửa sổ trình mô phỏng được nhúng quá nhỏ

Trên các máy có độ phân giải thấp hơn, chẳng hạn như 1024x768, bạn có thể gặp khó khăn với việc đọc màn hình của trình mô phỏng khi trình mô phỏng chạy trong cửa sổ công cụ trong Android Studio. Để trình mô phỏng có thêm dung lượng, hãy đóng cửa sổ công cụ Device Manager (Trình quản lý thiết bị) nếu cửa sổ này đang mở. Bạn cũng có thể kéo cửa sổ trình mô phỏng ra khỏi Android Studio. Cách làm: Trong cửa sổ trình mô phỏng, nhấp vào Settings (Cài đặt) > View Mode (Chế độ xem) rồi chọn Window (Cửa sổ) thay vì Dock Pinned (Đã ghim đế).

Vấn đề về đồ hoạ


Trình mô phỏng Android chạy chậm sau khi cập nhật

Một số yếu tố bên ngoài có thể khiến Trình mô phỏng Android chạy chậm sau khi cập nhật. Để bắt đầu khắc phục sự cố, bạn nên thực hiện các bước sau:

  • Nếu bạn dùng GPU của Intel (cụ thể là Intel HD 4000), hãy đảm bảo rằng bạn đã tải xuống và cài đặt trình điều khiển đồ hoạ Intel mới nhất.
  • Nếu máy của bạn có cả GPU Intel và GPU rời, hãy tắt GPU Intel trong Trình quản lý thiết bị để đảm bảo bạn đang sử dụng GPU rời.
  • Chạy trình mô phỏng bằng chế độ -gpu swiftshader. Để biết thêm thông tin về cách định cấu hình các tuỳ chọn tăng tốc đồ hoạ trên dòng lệnh, hãy xem nội dung Định cấu hình tăng tốc phần cứng.
  • Đảm bảo rằng bộ định tuyến không sử dụng địa chỉ IPv6 nếu bạn không có kết nối IPv6.

Nếu bạn vẫn gặp sự cố Trình mô phỏng Android chạy chậm, hãy Báo cáo lỗi bao gồm các thông tin chi tiết cần thiết của Trình mô phỏng Android để chúng tôi có thể tìm hiểu nguyên nhân.

Lỗi: Không tìm thấy vulkan-1.dll

Nếu trình mô phỏng không chạy được do lỗi vulkan-1.dll cannot be found, thì có thể bạn cần cập nhật trình mô phỏng. Để cập nhật trình mô phỏng trong Android Studio, hãy chuyển đến Tools > SDK Manager (Công cụ > Trình quản lý SDK) và cài đặt phiên bản chính thức mới nhất của nền tảng Android.

Ngoài ra, nếu không có ứng dụng nào của bạn cần sử dụng thư viện đồ hoạ Vulkan, bạn có thể tắt Vulkan bằng cách chạy trình mô phỏng qua dòng lệnh bằng cờ -feature -Vulkan.

Không thể tạo bản lưu toàn cảnh

Không hỗ trợ tính năng tạo bản lưu toàn cảnh của trình mô phỏng chứa thư viện đồ hoạ Vulkan. Để chạy trình mô phỏng mà không cần Vulkan, hãy chạy trình mô phỏng qua dòng lệnh bằng cờ -feature -Vulkan. Ngoài ra, bạn có thể gỡ cài đặt và tránh sử dụng các ứng dụng có Vulkan (chẳng hạn như Chrome trên API 30 trở lên) nếu muốn sử dụng bản lưu toàn cảnh trong quy trình phát triển.

Không thể mở trang web đúng cách

Bắt đầu từ API cấp 30, Chrome sẽ sử dụng thư viện đồ hoạ Vulkan làm phần phụ trợ kết xuất nên có thể gây ra vấn đề về khả năng tương thích trên một số máy. Nếu Chrome không hiển thị chính xác cho bạn, hãy thử chạy trình mô phỏng qua dòng lệnh bằng cờ -feature -Vulkan.

Cảnh báo của trình điều khiển GPU – quay lại phương thức kết xuất phần mềm

Nếu nhận được cảnh báo về việc trình điều khiển GPU quay trở lại phương thức kết xuất phần mềm, thì có thể bạn đang sử dụng GPU không được hỗ trợ. Theo mặc định, hệ thống sẽ sử dụng tuỳ chọn auto (tự động). Khi đó, hệ thống có thể chọn phương thức kết xuất là phần mềm. Nếu chọn hardware (phần cứng), bạn có thể buộc thiết bị sử dụng phương thức kết xuất phần cứng (hệ thống vẫn có thể hiện một thông báo cảnh báo).

Đối với các hình ảnh không thuộc Cửa hàng Play, bạn có thể truy cập vào Device Manager (Trình quản lý thiết bị) -> biểu tượng 3 dấu chấm -> Edit (Chỉnh sửa) để làm việc này. Đối với các hình ảnh thuộc Cửa hàng Play, bạn cần chỉnh sửa 2 tệp cấu hình đó theo cách thủ công:

~/.android/your_avd_name.avd/config.ini

~/.android/your_avd_name.avd/hardware-qemu.ini

và thay đổi hw.gpu.mode thành host

Lưu ý rằng thao tác này có thể làm giảm độ ổn định của trình mô phỏng. Vui lòng xem bài viết về lỗi để biết thêm chi tiết.

Trình mô phỏng không khởi động được trên Windows Chrome Remote Desktop

Nếu Trình mô phỏng không khởi động khi đang dùng Chrome Remote Desktop trên Windows, thì giải pháp hiện tại được đề xuất là sử dụng cờ-gpu như -gpu host hoặc -gpu swiftshader.

Vấn đề về mạng


Không có Internet: không tìm thấy địa chỉ DNS của máy chủ

Nếu trình mô phỏng không thể kết nối với Internet, hãy thử chạy trình mô phỏng qua dòng lệnh bằng tuỳ chọn -dns-server “2001:4860:4860::8844,2001:4860:4860::8888,8.8.8.8,8.8.4.4”. Lệnh này cung cấp danh sách địa chỉ IP được phân tách bằng dấu phẩy của DNS Google Public. Để biết thêm thông tin về DNS Google Public, hãy xem bài viết về DNS Google Public cho các thiết bị của bạn.

Không có Internet: Các vấn đề trong quá trình phân giải DNS

Đôi khi, địa chỉ DNS trong tệp /etc/resolv.conf không hoạt động đúng cách. Bạn có thể giải quyết vấn đề này bằng cách chạy trình mô phỏng qua dòng lệnh bằng tuỳ chọn -dns-server 8.8.8.8 hoặc -dns.server 2001:4860:4860::8888 để kết nối qua mạng chỉ dành cho IPv6.

Vấn đề cũ (trên các trình mô phỏng không dùng nữa hoặc các hệ thống cũ)


Không thể chạy AVD

AVD sẽ không chạy nếu có báo cáo sự cố cho trình mô phỏng mới hơn (vấn đề #281725854). Vấn đề này chỉ xảy ra với người dùng cập nhật từ phiên bản canary 33.x lên 32.1.13. Người này đã gặp sự cố vào lần chạy phiên bản 33.x gần đây nhất và chưa khởi động lại AVD kể từ đó, vì vậy thư mục %TEMP% hoặc /tmp vẫn đang bật. Nếu bạn gặp sự cố này, hãy thử xoá thư mục %TEMP% (/tmp trên Linux hoặc macOS).

Windows: Trình mô phỏng không chạy được nếu có Unicode trong tên AVD

Trên Windows, khi Trình quản lý thiết bị tạo một Thiết bị Android ảo (AVD), thì theo mặc định, Trình quản lý thiết bị sẽ tạo AVD đó tại C:\Users\<name>\.android\avd. Tuy nhiên, nếu tên AVD (<name>) có Unicode, thì trình mô phỏng không thể chạy AVD đúng cách bằng vị trí mặc định này.

Trình mô phỏng 31.3.6 trở lên đã khắc phục vấn đề này. Để giải quyết vấn đề này, hãy cập nhật trình mô phỏng bằng cách chọn Tools (Công cụ) > SDK Manager (Trình quản lý SDK).

Ngoài ra, để giải quyết vấn đề này, hãy đặt biến môi trường ANDROID_SDK_HOME thành một thư mục tuỳ chỉnh trước khi tạo AVD. Ví dụ: tạo thư mục C:\Android\home rồi đặt ANDROID_SDK_HOME vào thư mục mới tạo này. Để tìm hiểu thêm, hãy xem bài viết về Biến môi trường.

HAXM trên các phiên bản macOS không được hỗ trợ

Nếu đang sử dụng Trình mô phỏng Android trong các phiên bản macos cũ không được hỗ trợ (chẳng hạn như 10.9), thì bạn có thể cần sử dụng phiên bản HAXM 6.1.2.

Trình điều khiển ảo hoá HAXM của Intel không hỗ trợ đầy đủ cho phiên bản CPU iX trước của Intel

Nếu máy tính của bạn dùng phiên bản CPU iX trước của Intel và trình điều khiển ảo hoá HAXM của Intel, thì bạn có thể gặp vấn đề về hiệu suất với trình mô phỏng. Điều này là do trình mô phỏng không thể sử dụng tính năng tăng tốc phần cứng để cải thiện hiệu suất trên các máy cũ này. Nếu đang sử dụng phiên bản CPU iX trước của Intel, bạn có thể có trải nghiệm kiểm thử tốt hơn khi sử dụng thiết bị thực tế thay vì trình mô phỏng.

Trình điều khiển ảo hoá không thể mô phỏng một số tính năng cho CPU theo yêu cầu của hệ thống Android x86

Trình điều khiển ảo hoá thường không thể mô phỏng một số tính năng của CPU, chẳng hạn như Truyền trực tiếp tiện ích SIMD (SSE), theo yêu cầu của các hệ thống Android x86.

Google Maps không xuất hiện trong các chế độ điều khiển mở rộng của Trình mô phỏng Android

Kể từ giữa tháng 5, các phiên bản Trình mô phỏng Android trước phiên bản 34.2.13 sẽ không còn hoạt động trong các chế độ điều khiển mở rộng của Google Maps nữa. Các trình mô phỏng cũ đi kèm phiên bản Chromium không tương thích với API JavaScript của Google Maps.