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
Google Maps không xuất hiện trong chế độ điều khiển mở rộng của Trình mô phỏng Android
Kể từ giữa tháng 5, Trình mô phỏng Android phiên bản trước phiên bản 34.2.13 sẽ không còn có Google Maps hoạt động trong các chế độ điều khiển mở rộng. Các trình mô phỏng cũ sẽ có sẵn phiên bản Chromium không tương thích với API JavaScript của Google Maps.
Kiểm tra dung lượng ổ đĩa
Để tránh sự cố và bị treo do không đủ dung lượng ổ đĩa trống, trình mô phỏng khi khởi động sẽ kiểm tra dung lượng ổ đĩa trống có đủ sử dụng không và sẽ không bắt đầu 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ảnh báo cảm biến độ nghiêng cổ tay trên Wear OS
Trên Wear OS, trình mô phỏng có thể liên tục ghi lại thông báo sau đây liên quan đến cảm biến độ nghiêng cổ tay:
the host has not provided value yet for sensorHandle=16
Nhà phát triển có thể yên tâm bỏ qua những cảnh báo này.
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 chỉ đ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 phần Định cấu hình tính năng 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 lại phương thức kết xuất phần mềm, thì có thể bạn đang sử dụng một 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
Xin lưu ý rằng việ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 trên Chrome Remote Desktop của Windows
Nếu Trình mô phỏng không khởi động khi sử dụng Chrome Remote Desktop trên Windows, thì giải pháp hiện được đề xuất là sử dụng cờ use-gpu như -gpu host hoặc -gpu swiftshader.
Trình mô phỏng hoạt động không chính xác trên macOS ở chế độ kết xuất phần cứng
Trên các thiết bị Mac có Apple Silicon, trình mô phỏng sử dụng thư viện MoltenVK cho API Vulkan khi chọn chế độ kết xuất phần cứng. Mặc dù MoltenVK thường có hiệu suất tốt hơn nhiều, nhưng thư viện này không hỗ trợ tất cả các tính năng Vulkan. Trong trường hợp xảy ra vấn đề về khả năng tương thích, chẳng hạn như lỗi biên dịch trong chương trình đổ bóng, sự cố về đồ hoạ hoặc sự cố trong ứng dụng, hãy thay đổi chế độ kết xuất thành phần mềm thông qua phần cài đặt AVD hoặc sử dụng đối số dòng lệnh -gpu swiftshader
.
Ngoài ra, bạn có thể tắt tính năng hỗ trợ Vulkan bằng đối số -feature -Vulkan
để tiếp tục sử dụng tính năng tăng tốc phần cứng trên các ứng dụng GLES.
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.
Các vấn đề cũ (trên trình mô phỏng không dùng nữa hoặ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.
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.