Cách khắc phục: HAX không hoạt động và trình giả lập chạy ở chế độ mô phỏng


141

Câu hỏi là

Tôi nhận được "HAX không hoạt động và trình giả lập chạy ở chế độ mô phỏng", điều này có liên quan đến cài đặt Bộ tăng tốc giả lập Intel x86 (HAXM) và chạy avd với cpu được đặt thành CPU Intel Atom (x86) không? Và mặc dù có cảm giác như AVD chạy nhanh hơn sau khi tôi cài đặt HAXM, nhưng thông báo này cho biết hiệu suất AVD bị cản trở. Có nên sửa nó không và nếu có thì làm thế nào?

Tôi đang chạy trên mac os x 10.9.1.

Liệt kê những gì được cài đặt trên hệ thống của tôi thông qua trình quản lý sdk Android:

  • Công cụ
    • Công cụ SDK Android Rev 22.3
    • Công cụ nền tảng SDK Android phiên bản 19.0.1
    • Công cụ xây dựng SDK Android Rev 19.0.1
    • Công cụ xây dựng SDK Android Rev 19

==

  • Android 4.4.2 (API 19)
    • Nền tảng SDK
    • Hình ảnh hệ thống ARM EABI v7a
    • Hình ảnh hệ thống Intel x86 Ato
    • API Google
    • Nguồn cho SDK Android

==

  • Ngoài ra
    • Bộ tăng tốc giả lập Intel x86 (HAXM) VÀ tôi cũng chạy trình cài đặt dmg và cài đặt bản sửa lỗi nóng, sau khi tôi tìm hiểu về nó.

Thiết lập AVD

  • Nền tảng 4.4.2
  • API cấp 19
  • CPU Intel Atom (x86)

Khi tôi chạy avd:

(ruby-2.0.0-p353) .android   $ tools/emulator -avd 1AVD -wipe-data -no-boot-anim -cpu-delay 0

tôi nhận được theo dõi và trình giả lập cuối cùng tải

emulator: The memory needed by this VM exceeds the driver limit.

HAX is not working and emulator runs in emulation mode

Tôi đã gặp lỗi này, nhưng trình giả lập của tôi đã chạy, vì vậy vấn đề thực sự của tôi là mục tiêu Visual Studio là iPhone thay vì Any CPU , đã sửa lỗi triển khai của tôi thành trình giả lập.
Jaider

Câu trả lời:


200

Có, nó nên được sửa, HAXM không hoạt động. Bao nhiêu RAM được đặt để sử dụng bên trong cấu hình AVD của bạn?

768M là một con số tốt cho nó, nhưng quan trọng nhất là con số này phải thấp hơn hoặc bằng mức sử dụng bộ nhớ bạn đã đặt trong quá trình cài đặt HAXM. Bạn có thể khởi chạy lại cài đặt của nó để sửa đổi nó.


9
cảm ơn bạn @ ph0b, đúng vậy, HAXM đã được cài đặt với phân bổ 1024 cho bộ nhớ và ví dụ avd của tôi có cấp phát bộ nhớ được đặt thành 1907. cảm ơn bạn đã chỉ ra điều này.
GnrlBzik

44
Trình cài đặt HAXM đã đề xuất mặc định 1GB, nhưng Nexus 5 AVD được đặt thành sử dụng 1536. Đặt lại thành 1GB và chúng tôi sẽ tiếp tục!
aalaap

14
Cảm ơn. Đối với những người thắc mắc, vị trí của tệp cài đặt của HAXM nằm trong sdk/extras/intelthư mục của gói ADT của bạn. Đặt con trỏ của bạn vào mục HAXM trong Trình quản lý AVD của bạn sẽ tiết lộ vị trí chính xác.
Koh

2
@zhelon rõ ràng cách duy nhất để cấu hình HAXM là chạy lại trình cài đặt.
ThomasW

23
Nếu bạn đang sử dụng Windows và Android Studio, hãy làm như sau. Trong Android Studio: Công cụ> Android> Trình quản lý AVD> Thiết bị của bạn> Hiển thị cài đặt nâng cao> Đặt RAM thành kích thước ưa thích. Trong Bảng điều khiển> Chương trình và Tính năng> Trình quản lý thực thi tăng tốc phần cứng của Intel> Thay đổi> Đặt thủ công> Đặt thành kích thước ưa thích.
Chất dẫn truyền thần kinh

66

Nếu bạn đang haxmsử dụng máy Mac, bạn có thể cài đặt bằng homebrew thông qua thùng là tiện ích mở rộng tích hợp (kể từ năm 2015) cho phép cài đặt các ứng dụng không phải nguồn mở và máy tính để bàn (ví dụ: chrome, firefox, eclipse, v.v.):

brew cask install intel-haxm 

Studio Android

Nếu bạn đang sử dụng Android Studio sau đó bạn có thể đạt được kết quả tương tự từ menu ToolsSDK Manager, và sau đó trên Công cụ SDK tab, chọn hộp kiểm cho Intel x86 Emulator Accelerator (HAXM cài đặt) , và nhấn Ok.


49

Cách tôi giải quyết là bằng cách đặt giới hạn bộ nhớ AVD và bộ nhớ HAXM có kích thước bằng 1 GB = 1024 MB. AVD không thể có giới hạn bộ nhớ cao hơn HAXM.

1. Đặt bộ nhớ HAXM là 1024 M

Cách duy nhất để thay đổi bộ nhớ HAXM là cài đặt lại. Tôi đã làm nó bằng cách sử dụng thiết bị đầu cuối. Xác định vị trí phần cứng_Accelerated_Execut_Manager trong máy của bạn. Sau đó thay đổi thư mục thư mục đó để chạy tập lệnh cài đặt.

cd ~/Library/Android/sdk/extras/intel/Hardware_Accelerated_Execution_Manager

-OR-

cd ~/Library/Developer/Xamarin/android-sdk-macosx/extras/intel/Hardware_Accelerated_Execution_Manager

Có thể cần thay đổi quyền:

sudo chmod 755 "HAXM installation"

Sau đó:

./HAXM\ installation -m 1024

-OR-

sudo ./"HAXM installation" -m 1024

2. Đặt thiết bị ảo có cùng kích thước với giới hạn bộ nhớ HAXM

nhập mô tả hình ảnh ở đây

Điều này làm việc cho tôi. Chúc may mắn!


2
Cái này cũng có tác dụng với tôi. Nếu bạn đang tìm màn hình cấu hình AVD, thì tại Công cụ> Android> Trình quản lý AVD
stephenspann

2
Nếu bạn muốn có nhiều AVD chạy cùng một lúc, RAM tối đa HAXM cần phải là tổng số cho tất cả các AVD đang chạy, tức là hai AVD @ 1024MB = 2048MB, vì vậy:$ sudo ./HAXM\ installation -m 2048
Jason Hartley


20

Cho cửa sổ.

Trong Android Studio:

Công cụ > Android > Trình quản lý AVD > Thiết bị của bạn > Biểu tượng bút chì > Hiển thị cài đặt nâng cao > Bộ nhớ và lưu trữ > RAM > Đặt RAM theo kích thước ưa thích của bạn.

Trong Control Panel:

Chương trình và tính năng > Trình quản lý thực thi tăng tốc phần cứng của Intel > Thay đổi > Đặt thủ công > Đặt RAM theo kích thước ưa thích của bạn.

Nó là tốt hơn cho kích thước RAM được đặt ở cả hai nơi là như nhau.


2
+1 để giải thích vị trí chính xác để đặt các giá trị này. Quá nhiều câu trả lời trên internet giả định một mức độ kiến ​​thức mà người đọc, như tôi, không phải lúc nào cũng có :-)
MikeKulls

4

Kiểm tra phiên bản mới nhất của Has trên trang web Intel và cài đặt nó. Để ram ở kích thước được đề xuất "cài sẵn 2048", sau đó thử chạy ứng dụng. Mọi thứ sẽ hoạt động tốt.


2

Có, nó nên được sửa, HAXM không hoạt động.

HAXM đôi khi hoạt động; trải nghiệm với HAXM hiện đang lẻ tẻ trên các nền tảng.

Chẳng hạn, tôi đã có iMac cuối năm 2009 chạy bộ xử lý 10.8.5 và i7 @ 2.8Ghz, Android SDK 22.6 với tất cả các tính năng được cập nhật sáng nay (03/05/14). API17 sẽ xây dựng các trình giả lập với khả năng tăng tốc HAXM trên máy iMac này, API19 bị tắt.

Tôi cũng có đầu năm 2013 MBP 15 "Retina chạy bộ xử lý 10.8.5 và i7 @ 2.7Ghz, Android SDK 22.6 với tất cả các tính năng được cập nhật sáng nay (03/05/14). API17 sẽ xây dựng trình giả lập với khả năng tăng tốc HAXM, API19 cũng hoạt động rất tốt .

Ditto cho tôi (cá nhân) vào cuối năm 2013 MBP Retina 13 "với i5 lõi kép và Mavericks.

Có điều gì đó đang xảy ra cho việc ảo hóa ở cấp chip bị thiếu so với CPU cũ (thậm chí là i7) mà hình ảnh API19 x86 mới cần để HAXM hoạt động. Nếu API19 không hoạt động, hãy thử API17 hoặc thậm chí 16.


2

Trên máy mac của bạn Mở công cụ tìm sau đó Ctr + Alt + G/Users/${yourMacNameHere}/Library/Android/sdk/extras/intel/Hardware_Accelerated_Execution_Manager

Bạn sẽ tìm trình cài đặt trình tăng tốc giả lập để chạy nó và thiết lập bộ nhớ bạn cần sửa đổi và thử lại để chạy ứng dụng Android của bạn


Trình tự gõ phím ở trên không hoạt động với tôi mà chỉ tìm IntelHAXM_<version name>.dmgtệp trong thư mục 'sdk / extend / intel' và chạy trình cài đặt từ đó (Mac OSX)
kip2

2

nếu bạn đang chạy bộ xử lý Intel, hãy đảm bảo trình cài đặt HAXM (Trình quản lý thực thi tăng tốc phần cứng Intel®) được cài đặt qua Trình quản lý SDK bằng cách chọn tùy chọn này trong Trình quản lý SDK. và sau đó chạy trình cài đặt HAXM ext thông qua đường dẫn bên dưới

your_sdk_folder\extras\intel\Hardware_Accelerated_Execution_Manager\intelhaxm.exe

đồng thời kiểm tra kích thước ram được phân bổ trong khi thực hiện cài đặt HAX để phù hợp với kích thước ram của trình giả lập của bạn.

Video này cho thấy tất cả các bước cần thiết có thể giúp bạn giải quyết vấn đề.

Đây phim cũng sẽ giúp bạn nếu bạn gặp vấn đề sau khi cài đặt HAXM.


1

Tăng kích thước ram được phân bổ trong khi thực hiện cài đặt HAX, để phù hợp với không gian chính xác hoặc cao hơn một chút so với kích thước ram của trình giả lập mà bạn muốn khởi chạy trong chế độ "Trình tăng tốc giả lập Intel x86 (HAXM)",

Khi bạn thành công với điều đó, bây giờ bạn có thể xem nội dung này trong bảng điều khiển / nhật ký

nhập mô tả hình ảnh ở đây



1

giải pháp của tắc kè hoạt động hoàn hảo. Thận trọng: HAXM mà bạn cung cấp được sử dụng trên tất cả các thiết bị đang chạy. Vì vậy, nếu bạn đang thử nghiệm trên điện thoại và Máy tính bảng cùng một lúc và mỗi máy có yêu cầu 1G. Sau đó, đảm bảo HAXM được phân bổ của bạn ít nhất là 2G.


1

Tải xuống HAXM từ Trình quản lý SDK

Mở Trình quản lý SDK của bạn từ Android Studio, nhấp vào biểu tượng hiển thị trong ảnh chụp màn hình.

nhập mô tả hình ảnh ở đây

Nhấp vào "Khởi chạy Trình quản lý SDK độc lập" trên hộp thoại "Cài đặt mặc định".

nhập mô tả hình ảnh ở đây

Kiểm tra nút "Extras> Bộ tăng tốc giả lập Intel x86 (trình cài đặt HAXM)" và tiến hành tải xuống HAXM.

nhập mô tả hình ảnh ở đây

Cài đặt hoặc sửa đổi HAXM

Bây giờ bạn có thể truy cập bằng cài đặt (hoặc sửa đổi installtino hiện có) của HAXM bằng cách truy cập vị trí tải xuống. Nhập đường dẫn này trong "chạy"

% localappdata% \ Android \ sdk \ ngoại vi \ intel \ Phần cứng_Accelerated_Execut_Manager

và nhấp đúp vào tệp "intelhaxm-android.exe"

Bạn có thể tăng kích thước bộ nhớ được phân bổ cho HAXM trong khi sửa đổi cài đặt HAXM hiện có. Tôi có một máy có 32 GB RAM và muốn khởi chạy nhiều AVD cùng một lúc (để kiểm tra tự động, v.v.) vì vậy tôi đã phân bổ 8 GB cho HAXM.

Hãy cẩn thận

Nếu bạn đang chạy một AVD một GB và phân bổ 2 GB cho HAXM, bạn không thể chạy AVD khác với RAM hơn 1 GB. Vui lòng đảm bảo rằng Trình giám sát thiết bị Android không chạy khi bạn sửa đổi hoặc cài đặt HAXM (chỉ để tránh bất kỳ sự bất ngờ nào).

nhập mô tả hình ảnh ở đây

Các bước này được thử nghiệm trên nền tảng Windows, nhưng nhìn chung cũng có thể được áp dụng cho các nền tảng khác với một chút sửa đổi.


1

Vấn đề của tôi là tôi không còn có thể chạy trình giả lập đã hoạt động được vì tôi đã thoát khỏi ứng dụng giả lập nhưng quá trình chưa kết thúc hoàn toàn, vì vậy tôi đã cố gắng khởi chạy một trình giả lập khác trong khi phiên bản trước vẫn đang chạy. Trên máy mac, tôi phải sử dụng Trình giám sát hoạt động để xem quy trình khác và tiêu diệt nó. Các bước:

  1. Mở Trình giám sát hoạt động (trong Tiện ích hoặc sử dụng Command + Space)
  2. Xác định tên quy trình, trong trường hợp của tôi, hệ thống qemu ...
  3. Chọn quy trình.
  4. Buộc quá trình thoát khỏi bằng cách sử dụng nút 'x' ở trên cùng bên trái.
  5. Tôi không phải sử dụng 'Force Quit', chỉ đơn giản là 'Thoát', nhưng bạn cũng có thể sử dụng.

1

Trong trường hợp của tôi, lỗi này đã được sửa khi tôi đặt bộ nhớ HAXM bằng với bộ nhớ AVD. Bộ nhớ HAXM 1024 MB = Bộ nhớ AVD 1024 MB

Hax is enabled
Hax ram_size 0x40000000
HAX is working and emulator runs in fast virt mode.

Đến thời điểm này, lỗi sẽ được sửa.

Bây giờ tôi đang liệt kê môi trường cụ thể của mình trong trường hợp nó có thể giúp ích cho ai đó sử dụng OS X.

Hệ điều hành El Capitan 10.11.4

MacBook (13 inch), Intel Core 2 Duo 2 GHz, Ram 4 GB.

Studio Android 2.1

Marshmallow (23) x86 không vượt qua màn hình biểu tượng Android nhấp nháy trong nhiều giờ.

Lollipop (22) x86 đã vượt qua màn hình biểu tượng android nhấp nháy và sau đó hiển thị

  • Khởi động Android (Tối ưu hóa x trong số các ứng dụng y)
  • Bắt đầu Android (Bắt đầu ứng dụng)
  • Khởi động Android (Cập nhật cơ sở dữ liệu danh bạ)
  • Bắt đầu Android (Kết thúc khởi động) và vẫn bị kẹt ở đây trong nhiều giờ .

KitKat (19) x86 đã hoạt động thành công và tôi có thể cài đặt thế giới xin chào ở đó.


Đây có phải là một câu trả lời? @zeeawan
GnrlBzik

Có, bộ nhớ HAXM 1024 MB = Bộ nhớ AVD Kết hợp 1024 MB làm cho hax bắt đầu hoạt động. Thêm vào đó, câu trả lời này giải quyết cách trình giả lập bắt đầu làm việc với tôi trên OS X.
zeeawan

Tôi cần nhiều câu chuyện hơn.
GnrlBzik

Vì vậy, bạn đang nói rằng bạn đã sửa lỗi nhưng bạn vẫn gặp vấn đề với trình giả lập mất nhiều thời gian để khởi động?
Sam

Nó ổn với KitKat (19) x86.
zeeawan

0

Mở lại cấu hình thiết bị AVD của bạn. bằng cách chỉnh sửa thiết bị trong trình quản lý AVD. tiến hành chọn phiên bản Android AVD. Ở khung bên phải, một đề xuất được hiển thị theo khuyến nghị đó và tất cả sẽ được sửa.


0

Bộ nhớ mặc định được gán cho HAX là 1024MB. Và trình giả lập có 1536 MB rõ ràng cho Nexus 5x api 25.

nếu bạn đang sử dụng Android Studio,

  • chỉ cần vào công cụ -> Trình quản lý AVD.
  • Sau đó chọn trình giả lập và nhấp vào nút bút chì ở bên phải để chỉnh sửa.
  • Chuyển đến cài đặt nâng cao trong cửa sổ mới và thay đổi giá trị RAM thành 1024

Hoạt động như một lá bùa. :)

ảnh chụp màn hình của studio android

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.