اگر شبیه ساز بتواند از سخت افزار دستگاه شما مانند CPU، GPU و مودم استفاده کند، به جای اینکه به عنوان نرم افزار خالص اجرا شود، بهترین عملکرد را دارد. توانایی استفاده از سخت افزار دستگاه برای بهبود عملکرد ، شتاب سخت افزاری نامیده می شود.
شبیه ساز می تواند از شتاب سخت افزاری برای بهبود تجربه شما به دو روش اصلی استفاده کند:
- شتاب گرافیکی برای بهبود رندر صفحه نمایش
- شتاب ماشین مجازی (VM) برای بهبود سرعت اجرا
شتاب سخت افزاری به طور پیش فرض در اکثر ماشین ها فعال است. اگر در دستگاه شما فعال نیست، این صفحه نحوه پیکربندی شتاب گرافیک و ماشین مجازی (VM) را برای دریافت عملکرد بالاتر از شبیه ساز توضیح می دهد.
پیکربندی شتاب گرافیکی
دستگاههای اندرویدی از OpenGL برای سیستمهای جاسازی شده (OpenGL ES یا GLES) و APIهای Vulkan برای نمایش گرافیک روی صفحه استفاده میکنند. شتاب گرافیک استفاده از سختافزار رایانه شما (معمولاً GPU) را قادر میسازد تا رندر را سریعتر کند. در حالی که شتاب سختافزاری برای عملکرد توصیه میشود، اگر رایانه شما به دلیل پشتیبانی از درایور گرافیک یا عدم نیاز به تصویر سیستم، سازگار نیست، ممکن است لازم باشد از حالت نرمافزاری استفاده کنید.
وقتی یک دستگاه مجازی Android (AVD) را در مدیر AVD ایجاد میکنید، میتوانید تعیین کنید که شبیهساز از رندر سختافزاری یا نرمافزاری استفاده کند. در حالت خودکار، شبیه ساز تصمیم می گیرد که از شتاب گرافیکی سخت افزاری یا نرم افزاری بر اساس رایانه شما استفاده کند. همچنین اگر شبیه ساز را از خط فرمان شروع کنید، می توانید تنظیمات را لغو کنید.
شتاب گرافیکی را در AVD Manager پیکربندی کنید
برای پیکربندی شتاب گرافیکی برای AVD، مراحل زیر را دنبال کنید:
- Device Manager را باز کنید.
- یک AVD جدید ایجاد کنید یا یک AVD موجود را ویرایش کنید .
- در پنجره Configuration ، بخش Emulated Performance را در تب Additional Settings پیدا کنید.
- مقداری را برای گزینه Graphics acceleration انتخاب کنید.
- روی Finish کلیک کنید.
شتاب گرافیکی را از خط فرمان پیکربندی کنید
برای تعیین نوع شتاب گرافیکی هنگام اجرای AVD از خط فرمان، گزینه -gpu
را مانند مثال زیر وارد کنید:
emulator -avdavd_name -gpumode [{-option [value ]} ... ]
مقدار mode
می توان روی یکی از گزینه های زیر تنظیم کرد:
-
auto
: به شبیه ساز اجازه دهید بر اساس AVD، تنظیمات کامپیوتر و معیارهای کیفیت، بین شتاب گرافیک سخت افزاری یا نرم افزاری یکی را انتخاب کند. -
host
: از GPU روی رایانه خود برای شتاب سخت افزاری استفاده کنید. این گزینه معمولاً بالاترین کیفیت گرافیکی و عملکرد را برای شبیه ساز ارائه می دهد و می تواند MoltenVK را در macOS برای رندر سریع Vulkan فعال کند. با این حال، اگر با شبیه سازی گرافیکی مشکل دارید، ممکن است لازم باشد به رندر نرم افزار بروید. -
swiftshader_indirect
: از یک نوع سازگار با Quick Boot از SwiftShader برای رندر کردن گرافیک ها با استفاده از شتاب نرم افزار استفاده کنید. اگر رایانه شما نمی تواند از شتاب سخت افزاری استفاده کند، این گزینه جایگزین خوبی برای حالتhost
است.
گزینه های mode
زیر منسوخ شده اند:
-
swiftshader
: در نسخه 27.0.2 منسوخ شده است. به جای آن ازswiftshader_indirect
استفاده کنید. -
angle
: در نسخه 27.0.2 منسوخ شده است. به جای آن ازswiftshader_indirect
استفاده کنید. -
mesa
: در نسخه 25.3 منسوخ شده است. به جای آن ازswiftshader_indirect
استفاده کنید. -
guest
: برای سطوح API 28 و بالاتر منسوخ شده است. به جای آن ازswiftshader_indirect
استفاده کنید. -
angle_indirect
: در نسخه 34.2.14 منسوخ شده است. به جای آن ازswiftshader_indirect
استفاده کنید.
پیکربندی شتاب VM
شتاب VM از پردازنده رایانه شما برای بهبود قابل توجه سرعت اجرای شبیه ساز استفاده می کند. ابزاری به نام Hypervisor این تعامل را با استفاده از افزونه های مجازی سازی که پردازنده رایانه شما ارائه می دهد، مدیریت می کند. این بخش الزامات استفاده از شتاب ماشین مجازی را تشریح می کند و نحوه تنظیم شتاب ماشین مجازی در هر سیستم عامل را شرح می دهد.
الزامات عمومی
برای استفاده از شتاب ماشین مجازی با شبیه ساز، کامپیوتر شما باید شرایط عمومی این بخش را داشته باشد. رایانه شما همچنین باید سایر الزامات خاص سیستم عامل شما را برآورده کند.
الزامات محیطی توسعه
برای استفاده از شتاب VM، محیط توسعه شما باید شرایط زیر را برآورده کند:
- ابزار SDK : حداقل نسخه 17. نسخه توصیه شده 26.1.1 یا بالاتر
AVD : نسخه اندروید مورد نیاز در جدول زیر توضیح داده شده است.
معماری CPU تصویر مورد نیاز سیستم X86_64 تصاویر سیستم x86 یا x86_64 برای اندروید 2.3.3 (سطح API 10) و بالاتر ARM64 تصاویر سیستم arm64-v8a برای اندروید 5.0 (سطح API 21) و بالاتر
الزامات افزونه مجازی سازی
علاوه بر الزامات محیط توسعه، پردازنده رایانه شما باید از افزونه های مجازی سازی پشتیبانی کند. پردازنده های پشتیبانی شده عبارتند از:
- پردازنده های اینتل با فناوری مجازی سازی اینتل (VT-x، vmx)، مانند پردازنده های Intel Core iX و Intel Core Ultra
- پردازنده های AMD با AMD-V (SVM)، مانند پردازنده های AMD Ryzen
- سیلیکون سیب
الزامات اضافی برای پردازنده های اینتل و AMD:
ترجمه آدرس سطح دوم (Intel EPT یا AMD RVI) برای پردازنده های Intel و AMD مورد نیاز است. اکثر پردازنده های مدرن اینتل و AMD از ترجمه آدرس سطح دوم پشتیبانی می کنند. فقط پردازندههای نسل اول اینتل یا AMD که افزونههای مجازیسازی را ارائه میکنند ممکن است ترجمه صفحه سطح دوم نداشته باشند.
اگر مطمئن نیستید که پردازنده شما از افزونه های مورد نیاز پشتیبانی می کند یا خیر، مشخصات پردازنده خود را در سایت سازنده بررسی کنید. اگر پردازنده شما از این افزونه ها پشتیبانی نمی کند، نمی توانید از شتاب مجازی VM استفاده کنید.
محدودیت ها
شتاب VM دارای محدودیت های زیر است:
- شما نمی توانید شبیه ساز شتاب دهنده VM را در داخل ماشین مجازی دیگر اجرا کنید، مانند ماشین مجازی که توسط VirtualBox، VMWare یا Docker میزبانی می شود. شما باید یک شبیه ساز شتاب دهنده VM را مستقیماً بر روی رایانه میزبان خود اجرا کنید.
- بسته به سیستم عامل و هایپروایزر خود، ممکن است نرم افزاری را که از فناوری مجازی سازی دیگری استفاده می کند، همزمان با اجرای شبیه ساز شتاب دهنده VM اجرا نکنید. نمونههایی از این نرمافزارها شامل راهحلهای ماشین مجازی، برنامههای آنتیویروس خاص و چند راهحل ضد تقلب میشود، اما به آنها محدود نمیشود. این وضعیت بیشتر در ویندوز با Hyper-V خاموش مشاهده می شود. بسیاری از این نرم افزارها می توانند بدون هیچ مشکلی با شبیه ساز اندروید همزیستی کنند. اما در صورت بروز تداخل، توصیه می شود که شبیه ساز شتاب دهنده VM را همزمان با چنین نرم افزارهایی اجرا نکنید.
درباره هایپروایزورها
شتاب VM به Hypervisor نیاز دارد، ابزاری که از پسوندهای مجازی سازی ارائه شده توسط پردازنده رایانه شما استفاده می کند.
بدون Hypervisor و شتاب VM، شبیه ساز باید کد ماشین را از بلوک VM به بلوک ترجمه کند تا با معماری کامپیوتر میزبان مطابقت داشته باشد. این روند می تواند بسیار کند باشد. با Hypervisor، هنگامی که VM و معماری کامپیوتر میزبان مطابقت دارند، شبیهساز میتواند کد را مستقیماً روی پردازنده میزبان با استفاده از Hypervisor اجرا کند. این بهبود سرعت و عملکرد شبیه ساز را به شدت افزایش می دهد.
هایپروایزر که برای شما بهترین کار را دارد به سیستم عامل و پیکربندی رایانه شما بستگی دارد. برای اطلاعات بیشتر به یکی از بخش های زیر مراجعه کنید:
بررسی کنید که آیا هایپروایزر نصب شده است یا خیر
می توانید از گزینه emulator -accel-check
command-line برای بررسی اینکه آیا هایپروایزر در حال حاضر روی رایانه شما نصب شده است یا خیر استفاده کنید.
مثال های زیر نحوه استفاده از گزینه accel-check
شبیه ساز را نشان می دهد. در هر مثال، Sdk
مکان Android SDK است:
ویندوز:
c:\Users\janedoe\AppData\Local\Android>Sdk \emulator\emulator -accel-check accel: 0 WHPX(10.0.22631) is installed and usable. accel
macOS:
janedoe-macbookpro:Android janedoe$ ./Sdk /emulator/emulator -accel-check accel: 0 Hypervisor.Framework OS X Version 13.2 accel
لینوکس:
janedoe:~/Android$ ./Sdk /emulator/emulator -accel-check accel: 0 KVM (version 12) is installed and usable.
پیکربندی شتاب VM در ویندوز
شتاب VM در ویندوز می تواند از یکی از دو Hypervisor استفاده کند:
- پلتفرم هایپروایزر ویندوز (WHPX)
- درایور Hypervisor Emulator Android (AEHD)
پلت فرم Windows Hypervisor از Hyper-V Hypervisor ارائه شده توسط ویندوز استفاده می کند و بهترین سازگاری را با کاهش ناپایداری ارائه می دهد. در صورت امکان، باید از WHPX استفاده کنید.
اگر سیستم شما از WHPX پشتیبانی نمیکند یا نگرانیهای دیگری در مورد استفاده از آن دارید، میتوانید از درایور Hypervisor Emulator Android استفاده کنید.
شتاب VM را با استفاده از پلتفرم Hypervisor Windows پیکربندی کنید
قبل از اینکه بتوانید WHPX را فعال کنید، رایانه شما باید شرایط زیر را داشته باشد:
- پردازنده های اینتل: پشتیبانی از فناوری مجازی سازی (VT-x)، جداول صفحه گسترده (EPT) و مهمان نامحدود (UG). VT-x باید در تنظیمات BIOS کامپیوتر شما فعال باشد.
- پردازنده های AMD: پردازنده AMD Ryzen توصیه می شود. مجازی سازی یا SVM باید در تنظیمات BIOS کامپیوتر شما فعال باشد.
- Android Studio 3.2 Beta 1 یا بالاتر
- شبیه ساز اندروید نسخه 27.3.8 یا بالاتر
- ویندوز 10 یا بالاتر
برای نصب WHPX در ویندوز مراحل زیر را دنبال کنید:
- از دسکتاپ ویندوز، روی نماد ویندوز کلیک کنید تا منوی Start باز شود.
با استفاده از نوار جستجو، عبارت Turn Windows features on or off را تایپ کنید.
پانل کنترل روشن یا خاموش کردن ویژگی های ویندوز باید ظاهر شود و انتخاب شود.
کلید Enter را فشار دهید یا روی Turns Windows Features on or off کلیک کنید تا کنترل پنل راه اندازی شود.
کادر کنار Windows Hypervisor Platform را علامت بزنید.
روی OK کلیک کنید.
پس از اتمام نصب، کامپیوتر خود را مجددا راه اندازی کنید.
شتاب VM را با استفاده از درایور Hypervisor Emulator Android (AEHD) در ویندوز پیکربندی کنید
قبل از نصب و استفاده از درایور Hypervisor شبیه ساز Android، رایانه شما باید شرایط زیر را داشته باشد:
- پردازنده های اینتل یا AMD با پسوند مجازی سازی.
ویندوز 11 یا ویندوز 10 64 بیتی (ویندوز 32 بیتی پشتیبانی نمی شود)
کاربران ویندوز 8.1، ویندوز 8 و ویندوز 7 می توانند به استفاده از AEHD 1.7 یا پایین تر ادامه دهند. با این حال، هیچ حمایتی برای چنین سناریوهایی وجود نخواهد داشت.
ویژگی هایی که از Windows Hyper-V Hypervisor نیز استفاده می کنند باید در گفتگوی ویژگی های ویندوز غیرفعال شوند.
برخی از اجزای ویندوز نیز Windows Hyper-V Hypervisor را فعال میکنند و از آن استفاده میکنند، حتی زمانی که پلتفرم Hypervisor Windows در گفتگوی ویژگیهای ویندوز انتخاب نشده باشد. اینها شامل ویژگیهای امنیتی مانند Hyper-V ، Core Isolation و موارد دیگر میشود. (توجه داشته باشید که ویژگی Hyper-V با Hyper-V Hypervisor یکسان نیست.) اگر به این ویژگی ها نیاز دارید، به جای آن از WHPX استفاده کنید.
در پردازنده های AMD، درایور Hypervisor شبیه ساز اندروید را می توان از طریق مدیر SDK در Android Studio 4.0 Canary 5 یا جدیدتر نصب کرد.
در پردازندههای اینتل، درایور Hypervisor Emulator Android را میتوان از طریق SDK Manager در Android Studio Flamingo یا جدیدتر نصب کرد.
برای نصب از SDK Manager، مراحل زیر را دنبال کنید:
- Tools > SDK Manager را انتخاب کنید.
- روی تب ابزار SDK کلیک کنید و درایور Hypervisor Emulator Android را انتخاب کنید.
- برای دانلود و نصب درایور Hypervisor Android Emulator روی OK کلیک کنید.
پس از نصب، با استفاده از دستور خط فرمان زیر، تأیید کنید که درایور به درستی کار می کند:
AEHD 2.1 و بالاتر
sc query aehd
پیام وضعیت شامل اطلاعات زیر است:
SERVICE_NAME: aehd ... STATE : 4 RUNNING ...
پیام خطای زیر به این معنی است که افزونه مجازی سازی در بایوس شما فعال نیست یا Hyper-V غیرفعال نیست:
SERVICE_NAME: aehd ... STATE : 1 STOPPED WIN32_EXIT_CODE : 4294967201 (0xffffffa1) ...
AEHD 2.0 و پایین تر
sc query gvm
پیام وضعیت شامل اطلاعات زیر است:
SERVICE_NAME: gvm ... STATE : 4 RUNNING ...
پیام خطای زیر به این معنی است که افزونه مجازی سازی در بایوس شما فعال نیست یا Hyper-V غیرفعال نیست:
SERVICE_NAME: gvm ... STATE : 1 STOPPED WIN32_EXIT_CODE : 4294967201 (0xffffffa1) ...
درایور Hypervisor Emulator Android را نیز می توان از GitHub دانلود و نصب کرد. پس از باز کردن بسته درایور، silent_install.bat
در یک خط فرمان با امتیازات مدیر اجرا کنید.
درایور Hypervisor Android Emulator را با استفاده از دستورات زیر در یک خط فرمان با امتیازات مدیر حذف نصب کنید:
AEHD 2.1 و بالاتر
sc stop aehd
sc delete aehd
AEHD 2.0 و پایین تر
sc stop gvm
sc delete gvm
شتاب VM را در macOS پیکربندی کنید
در macOS، شبیهساز اندروید از Hypervisor.Framework داخلی استفاده میکند که به macOS نسخه 10.10 (Yosemite) و بالاتر نیاز دارد. با این حال، Android Studio ممکن است به نسخه بالاتر برای macOS نیاز داشته باشد. در چنین مواردی، سیستم مورد نیاز اندروید استودیو را دنبال کنید.
پیکربندی شتاب VM در لینوکس
سیستم های مبتنی بر لینوکس از شتاب VM از طریق بسته نرم افزاری KVM پشتیبانی می کنند. دستورالعمل های نصب KVM را در سیستم لینوکس خود دنبال کنید و سپس بررسی کنید که KVM فعال باشد. برای سیستم های اوبونتو، نصب Ubuntu KVM را ببینید.
الزامات
اجرای KVM به مجوزهای کاربر خاصی نیاز دارد. اطمینان حاصل کنید که مجوزهای کافی را همانطور که در دستورالعمل های نصب KVM مشخص شده است دارید.
برای استفاده از شتاب VM در لینوکس، رایانه شما باید این شرایط را نیز داشته باشد:
- برای پردازنده های اینتل: پشتیبانی از فناوری مجازی سازی (VT-x)، ویژگی های Intel EM64T (Intel 64) و عملکرد بیت Execute Disable (XD) فعال است.
- برای پردازنده های AMD: پشتیبانی از مجازی سازی AMD (AMD-V).
بررسی کنید که آیا KVM در حال حاضر روی لینوکس نصب شده است یا خیر
می توانید از گزینه emulator -accel-check
command-line استفاده کنید تا بررسی کنید آیا KVM را نصب کرده اید یا خیر. همچنین می توانید بسته cpu-checker
حاوی دستور kvm-ok
را نصب کنید.
مثال زیر نحوه استفاده از دستور kvm-ok
را نشان می دهد:
بسته
cpu-checker
را نصب کنید:sudo apt-get install cpu-checker egrep -c '(vmx|svm)' /proc/cpuinfo
خروجی 1 یا بیشتر به این معنی است که مجازی سازی پشتیبانی می شود. خروجی 0 به این معنی است که CPU شما از مجازی سازی سخت افزاری پشتیبانی نمی کند.
دستور
kvm-ok
را اجرا کنید:sudo kvm-ok
خروجی مورد انتظار:
INFO: /dev/kvm exists KVM acceleration can be used
اگر خطای زیر را دریافت کردید به این معنی است که همچنان می توانید ماشین های مجازی را اجرا کنید. با این حال، ماشین مجازی شما بدون پسوند KVM کندتر است.
INFO: Your CPU does not support KVM extensions KVM acceleration can NOT be used
KVM را روی لینوکس نصب کنید
برای نصب KVM از دستور زیر استفاده کنید:
کیهانی (18.10) یا جدیدتر:
sudo apt-get install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils
Lucid (10.04) یا جدیدتر:
sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils
Karmic (9.10) یا قبل از آن:
sudo aptitude install kvm libvirt-bin ubuntu-vm-builder bridge-utils
راهنمای حذف اینتل HAXM
با شروع از شبیه ساز 33.xxx، HAXM منسوخ شده است زیرا اینتل توسعه HAXM را متوقف می کند . درایور Hypervisor Emulator Android (AEHD) جایگزین Intel HAXM در پردازنده های اینتل می شود.
توصیه می شود اینتل HAXM را به طور کامل از سیستم ویندوز خود حذف کنید، مگر اینکه نرم افزار دیگری را نصب کرده باشید که به HAXM بستگی دارد و انتخاب کنید که Intel HAXM را نگه دارید و خودتان آن را مدیریت کنید.
برای حذف اینتل HAXM مراحل زیر را دنبال کنید:
بررسی کنید که آیا Intel HAXM نصب شده است یا خیر
برای تعیین اینکه آیا Intel HAXM بر روی سیستم ویندوز شما نصب شده است، یک کنسول فرمان ویندوز را باز کنید و دستور زیر را اجرا کنید:
sc query intelhaxm
اگر اینتل HAXM نصب و اجرا شده باشد، باید پیام زیر را در خروجی فرمان مشاهده کنید.
اگر Intel HAXM نصب شده اما غیرفعال است، باید پیام زیر را در خروجی فرمان مشاهده کنید.
در هر دو مورد، صرف نظر از اینکه اینتل HAXM در حال اجرا یا غیرفعال است، نصب می شود. برای ادامه حذف اینتل HAXM باید به مرحله بعدی بروید.
اگر Intel HAXM نصب نشده باشد، باید پیام زیر را مشاهده کنید.
Intel HAXM را با استفاده از مدیر SDK از Android Studio حذف نصب کنید
مدیر SDK را از Android Studio باز کنید، به تب "SDK Tools" بروید، سپس به خط "Intel x86 Emulator Accelerator (HAXM installer) - Deprecated" بروید. باید شبیه تصویر زیر باشد.
همانطور که در تصویر زیر نشان داده شده است، چک باکس را پاک کنید.
روی دکمه "اعمال" کلیک کنید و کادر گفتگوی زیر ظاهر می شود.
هنگامی که Intel HAXM با موفقیت حذف شد، باید موارد زیر را مشاهده کنید. حذف نصب انجام شده است و می توانید اینجا متوقف شوید .
در صورت بروز هر گونه خطا به مرحله بعد ادامه دهید.
اینتل HAXM را با استفاده از تنظیمات ویندوز حذف نصب کنید.
"تنظیمات" ویندوز را باز کنید و به "برنامه ها > برنامه های نصب شده" بروید.
همانطور که در تصویر زیر نشان داده شده است، ورودی "Intel Hardware Accelerated Execution Manager" را پیدا کنید و روی "Uninstall" کلیک کنید.
حذف کننده اینتل HAXM باید اجرا شود و نتیجه را گزارش کند. اگر حذف با موفقیت انجام شد، به بسته نصب اینتل HAXM بروید. در غیر این صورت، به مرحله بعدی ادامه دهید.
با استفاده از خط فرمان حذف نصب کنید
سرویس Intel HAXM را با اجرای 'sc stop intelhaxm' متوقف کنید. شما باید خروجی زیر را ببینید.
سرویس Intel HAXM را با اجرای 'sc delete intelhaxm' حذف کنید. شما باید خروجی زیر را ببینید.
به حذف بسته نصب کننده Intel HAXM بروید.
بسته نصب کننده Intel HAXM را حذف کنید.
این مرحله فقط هنگام حذف نصب HAXM Intel با استفاده از "تنظیمات" یا خط فرمان ویندوز مورد نیاز است. بدون این مرحله، مدیر SDK Android Studio میتواند اینتل HAXM را بهعنوان «نصب شده» فهرست کند.
بسته نصب کننده در <Your Android SDK folder>\extras\intel قرار دارد. به طور پیشفرض، Android SDK در «C:\Users\<Your Windows User ID >\AppData\Local\Android\Sdk» نصب میشود. نمونه را در تصویر زیر ببینید.
اگر شبیه ساز بتواند از سخت افزار دستگاه شما مانند CPU، GPU و مودم استفاده کند، به جای اینکه به عنوان نرم افزار خالص اجرا شود، بهترین عملکرد را دارد. توانایی استفاده از سخت افزار دستگاه برای بهبود عملکرد ، شتاب سخت افزاری نامیده می شود.
شبیه ساز می تواند از شتاب سخت افزاری برای بهبود تجربه شما به دو روش اصلی استفاده کند:
- شتاب گرافیکی برای بهبود رندر صفحه نمایش
- شتاب ماشین مجازی (VM) برای بهبود سرعت اجرا
شتاب سخت افزاری به طور پیش فرض در اکثر ماشین ها فعال است. اگر در دستگاه شما فعال نیست، این صفحه نحوه پیکربندی شتاب گرافیک و ماشین مجازی (VM) را برای دریافت عملکرد بالاتر از شبیه ساز توضیح می دهد.
پیکربندی شتاب گرافیکی
دستگاههای اندرویدی از OpenGL برای سیستمهای جاسازی شده (OpenGL ES یا GLES) و APIهای Vulkan برای نمایش گرافیک روی صفحه استفاده میکنند. شتاب گرافیک استفاده از سختافزار رایانه شما (معمولاً GPU) را قادر میسازد تا رندر را سریعتر کند. در حالی که شتاب سختافزاری برای عملکرد توصیه میشود، اگر رایانه شما به دلیل پشتیبانی از درایور گرافیک یا عدم نیاز به تصویر سیستم، سازگار نیست، ممکن است لازم باشد از حالت نرمافزاری استفاده کنید.
وقتی یک دستگاه مجازی Android (AVD) را در مدیر AVD ایجاد میکنید، میتوانید تعیین کنید که شبیهساز از رندر سختافزاری یا نرمافزاری استفاده کند. در حالت خودکار، شبیه ساز تصمیم می گیرد که از شتاب گرافیکی سخت افزاری یا نرم افزاری بر اساس رایانه شما استفاده کند. همچنین اگر شبیه ساز را از خط فرمان شروع کنید، می توانید تنظیمات را لغو کنید.
شتاب گرافیکی را در AVD Manager پیکربندی کنید
برای پیکربندی شتاب گرافیکی برای AVD، مراحل زیر را دنبال کنید:
- Device Manager را باز کنید.
- یک AVD جدید ایجاد کنید یا یک AVD موجود را ویرایش کنید .
- در پنجره Configuration ، بخش Emulated Performance را در تب Additional Settings پیدا کنید.
- مقداری را برای گزینه Graphics acceleration انتخاب کنید.
- روی Finish کلیک کنید.
شتاب گرافیکی را از خط فرمان پیکربندی کنید
برای تعیین نوع شتاب گرافیکی هنگام اجرای AVD از خط فرمان، گزینه -gpu
را مانند مثال زیر وارد کنید:
emulator -avdavd_name -gpumode [{-option [value ]} ... ]
مقدار mode
می توان روی یکی از گزینه های زیر تنظیم کرد:
-
auto
: به شبیه ساز اجازه دهید بر اساس AVD، تنظیمات کامپیوتر و معیارهای کیفیت، بین شتاب گرافیک سخت افزاری یا نرم افزاری یکی را انتخاب کند. -
host
: از GPU روی رایانه خود برای شتاب سخت افزاری استفاده کنید. این گزینه معمولاً بالاترین کیفیت گرافیکی و عملکرد را برای شبیه ساز ارائه می دهد و می تواند MoltenVK را در macOS برای رندر سریع Vulkan فعال کند. با این حال، اگر با شبیه سازی گرافیکی مشکل دارید، ممکن است لازم باشد به رندر نرم افزار بروید. -
swiftshader_indirect
: از یک نوع سازگار با Quick Boot از SwiftShader برای رندر کردن گرافیک ها با استفاده از شتاب نرم افزار استفاده کنید. اگر رایانه شما نمی تواند از شتاب سخت افزاری استفاده کند، این گزینه جایگزین خوبی برای حالتhost
است.
گزینه های mode
زیر منسوخ شده اند:
-
swiftshader
: در نسخه 27.0.2 منسوخ شده است. به جای آن ازswiftshader_indirect
استفاده کنید. -
angle
: در نسخه 27.0.2 منسوخ شده است. به جای آن ازswiftshader_indirect
استفاده کنید. -
mesa
: در نسخه 25.3 منسوخ شده است. به جای آن ازswiftshader_indirect
استفاده کنید. -
guest
: برای سطوح API 28 و بالاتر منسوخ شده است. به جای آن ازswiftshader_indirect
استفاده کنید. -
angle_indirect
: در نسخه 34.2.14 منسوخ شده است. به جای آن ازswiftshader_indirect
استفاده کنید.
پیکربندی شتاب VM
شتاب VM از پردازنده رایانه شما برای بهبود قابل توجه سرعت اجرای شبیه ساز استفاده می کند. ابزاری به نام Hypervisor این تعامل را با استفاده از افزونه های مجازی سازی که پردازنده رایانه شما ارائه می دهد، مدیریت می کند. این بخش الزامات استفاده از شتاب ماشین مجازی را تشریح می کند و نحوه تنظیم شتاب ماشین مجازی در هر سیستم عامل را شرح می دهد.
الزامات عمومی
برای استفاده از شتاب ماشین مجازی با شبیه ساز، کامپیوتر شما باید شرایط عمومی این بخش را داشته باشد. رایانه شما همچنین باید سایر الزامات خاص سیستم عامل شما را برآورده کند.
الزامات محیطی توسعه
برای استفاده از شتاب VM، محیط توسعه شما باید شرایط زیر را برآورده کند:
- ابزار SDK : حداقل نسخه 17. نسخه توصیه شده 26.1.1 یا بالاتر
AVD : نسخه اندروید مورد نیاز در جدول زیر توضیح داده شده است.
معماری CPU تصویر مورد نیاز سیستم X86_64 تصاویر سیستم x86 یا x86_64 برای اندروید 2.3.3 (سطح API 10) و بالاتر ARM64 تصاویر سیستم arm64-v8a برای اندروید 5.0 (سطح API 21) و بالاتر
الزامات افزونه مجازی سازی
علاوه بر الزامات محیط توسعه، پردازنده رایانه شما باید از افزونه های مجازی سازی پشتیبانی کند. پردازنده های پشتیبانی شده عبارتند از:
- پردازنده های اینتل با فناوری مجازی سازی اینتل (VT-x، vmx)، مانند پردازنده های Intel Core iX و Intel Core Ultra
- پردازنده های AMD با AMD-V (SVM)، مانند پردازنده های AMD Ryzen
- سیلیکون سیب
الزامات اضافی برای پردازنده های اینتل و AMD:
ترجمه آدرس سطح دوم (Intel EPT یا AMD RVI) برای پردازنده های Intel و AMD مورد نیاز است. اکثر پردازنده های مدرن اینتل و AMD از ترجمه آدرس سطح دوم پشتیبانی می کنند. فقط پردازندههای نسل اول اینتل یا AMD که افزونههای مجازیسازی را ارائه میکنند ممکن است ترجمه صفحه سطح دوم نداشته باشند.
اگر مطمئن نیستید که پردازنده شما از افزونه های مورد نیاز پشتیبانی می کند یا خیر، مشخصات پردازنده خود را در سایت سازنده بررسی کنید. اگر پردازنده شما از این افزونه ها پشتیبانی نمی کند، نمی توانید از شتاب مجازی VM استفاده کنید.
محدودیت ها
شتاب VM دارای محدودیت های زیر است:
- شما نمی توانید شبیه ساز شتاب دهنده VM را در داخل ماشین مجازی دیگر اجرا کنید، مانند ماشین مجازی که توسط VirtualBox، VMWare یا Docker میزبانی می شود. شما باید یک شبیه ساز شتاب دهنده VM را مستقیماً بر روی رایانه میزبان خود اجرا کنید.
- بسته به سیستم عامل و هایپروایزر خود، ممکن است نرم افزاری را که از فناوری مجازی سازی دیگری استفاده می کند، همزمان با اجرای شبیه ساز شتاب دهنده VM اجرا نکنید. نمونههایی از این نرمافزارها شامل راهحلهای ماشین مجازی، برنامههای آنتیویروس خاص و چند راهحل ضد تقلب میشود، اما به آنها محدود نمیشود. این وضعیت بیشتر در ویندوز با Hyper-V خاموش مشاهده می شود. بسیاری از این نرم افزارها می توانند بدون هیچ مشکلی با شبیه ساز اندروید همزیستی کنند. اما در صورت بروز تداخل، توصیه می شود که شبیه ساز شتاب دهنده VM را همزمان با چنین نرم افزارهایی اجرا نکنید.
درباره هایپروایزورها
شتاب VM به Hypervisor نیاز دارد، ابزاری که از پسوندهای مجازی سازی ارائه شده توسط پردازنده رایانه شما استفاده می کند.
بدون Hypervisor و شتاب VM، شبیه ساز باید کد ماشین را از بلوک VM به بلوک ترجمه کند تا با معماری کامپیوتر میزبان مطابقت داشته باشد. این روند می تواند بسیار کند باشد. با Hypervisor، هنگامی که VM و معماری کامپیوتر میزبان مطابقت دارند، شبیهساز میتواند کد را مستقیماً روی پردازنده میزبان با استفاده از Hypervisor اجرا کند. این بهبود سرعت و عملکرد شبیه ساز را به شدت افزایش می دهد.
هایپروایزر که برای شما بهترین کار را دارد به سیستم عامل و پیکربندی رایانه شما بستگی دارد. برای اطلاعات بیشتر به یکی از بخش های زیر مراجعه کنید:
بررسی کنید که آیا هایپروایزر نصب شده است یا خیر
می توانید از گزینه emulator -accel-check
command-line برای بررسی اینکه آیا هایپروایزر در حال حاضر روی رایانه شما نصب شده است یا خیر استفاده کنید.
مثال های زیر نحوه استفاده از گزینه accel-check
شبیه ساز را نشان می دهد. در هر مثال، Sdk
مکان Android SDK است:
ویندوز:
c:\Users\janedoe\AppData\Local\Android>Sdk \emulator\emulator -accel-check accel: 0 WHPX(10.0.22631) is installed and usable. accel
macOS:
janedoe-macbookpro:Android janedoe$ ./Sdk /emulator/emulator -accel-check accel: 0 Hypervisor.Framework OS X Version 13.2 accel
لینوکس:
janedoe:~/Android$ ./Sdk /emulator/emulator -accel-check accel: 0 KVM (version 12) is installed and usable.
پیکربندی شتاب VM در ویندوز
شتاب VM در ویندوز می تواند از یکی از دو Hypervisor استفاده کند:
- پلتفرم هایپروایزر ویندوز (WHPX)
- درایور Hypervisor Emulator Android (AEHD)
پلت فرم Windows Hypervisor از Hyper-V Hypervisor ارائه شده توسط ویندوز استفاده می کند و بهترین سازگاری را با کاهش ناپایداری ارائه می دهد. در صورت امکان، باید از WHPX استفاده کنید.
اگر سیستم شما از WHPX پشتیبانی نمیکند یا نگرانیهای دیگری در مورد استفاده از آن دارید، میتوانید از درایور Hypervisor Emulator Android استفاده کنید.
شتاب VM را با استفاده از پلتفرم Hypervisor Windows پیکربندی کنید
قبل از اینکه بتوانید WHPX را فعال کنید، رایانه شما باید شرایط زیر را داشته باشد:
- پردازنده های اینتل: پشتیبانی از فناوری مجازی سازی (VT-x)، جداول صفحه گسترده (EPT) و مهمان نامحدود (UG). VT-x باید در تنظیمات BIOS کامپیوتر شما فعال باشد.
- پردازنده های AMD: پردازنده AMD Ryzen توصیه می شود. مجازی سازی یا SVM باید در تنظیمات BIOS کامپیوتر شما فعال باشد.
- Android Studio 3.2 Beta 1 یا بالاتر
- شبیه ساز اندروید نسخه 27.3.8 یا بالاتر
- ویندوز 10 یا بالاتر
برای نصب WHPX در ویندوز مراحل زیر را دنبال کنید:
- از دسکتاپ ویندوز، روی نماد ویندوز کلیک کنید تا منوی Start باز شود.
با استفاده از نوار جستجو، عبارت Turn Windows features on or off را تایپ کنید.
پانل کنترل روشن یا خاموش کردن ویژگی های ویندوز باید ظاهر شود و انتخاب شود.
کلید Enter را فشار دهید یا روی Turns Windows Features on or off کلیک کنید تا کنترل پنل راه اندازی شود.
کادر کنار Windows Hypervisor Platform را علامت بزنید.
روی OK کلیک کنید.
پس از اتمام نصب، کامپیوتر خود را مجددا راه اندازی کنید.
شتاب VM را با استفاده از درایور Hypervisor Emulator Android (AEHD) در ویندوز پیکربندی کنید
قبل از اینکه بتوانید درایور Hypervisor شبیه ساز Android را نصب و استفاده کنید، رایانه شما باید شرایط زیر را داشته باشد:
- پردازنده های اینتل یا AMD با پسوند مجازی سازی.
ویندوز 11 یا ویندوز 10 64 بیتی (ویندوز 32 بیتی پشتیبانی نمی شود)
کاربران ویندوز 8.1، ویندوز 8 و ویندوز 7 می توانند به استفاده از AEHD 1.7 یا پایین تر ادامه دهند. با این حال، هیچ حمایتی برای چنین سناریوهایی وجود نخواهد داشت.
ویژگی هایی که از Windows Hyper-V Hypervisor نیز استفاده می کنند باید در گفتگوی ویژگی های ویندوز غیرفعال شوند.
برخی از اجزای ویندوز نیز Windows Hyper-V Hypervisor را فعال میکنند و از آن استفاده میکنند، حتی زمانی که پلتفرم Hypervisor Windows در گفتگوی ویژگیهای ویندوز انتخاب نشده باشد. اینها شامل ویژگیهای امنیتی مانند Hyper-V ، Core Isolation و موارد دیگر میشود. (توجه داشته باشید که ویژگی Hyper-V با Hyper-V Hypervisor یکسان نیست.) اگر به این ویژگی ها نیاز دارید، به جای آن از WHPX استفاده کنید.
در پردازنده های AMD، درایور Hypervisor شبیه ساز اندروید را می توان از طریق مدیر SDK در Android Studio 4.0 Canary 5 یا جدیدتر نصب کرد.
در پردازندههای اینتل، درایور Hypervisor Emulator Android را میتوان از طریق SDK Manager در Android Studio Flamingo یا جدیدتر نصب کرد.
برای نصب از SDK Manager، مراحل زیر را دنبال کنید:
- Tools > SDK Manager را انتخاب کنید.
- روی تب ابزار SDK کلیک کنید و درایور Hypervisor Emulator Android را انتخاب کنید.
- برای دانلود و نصب درایور Hypervisor Android Emulator روی OK کلیک کنید.
پس از نصب، با استفاده از دستور خط فرمان زیر، تأیید کنید که درایور به درستی کار می کند:
AEHD 2.1 و بالاتر
sc query aehd
پیام وضعیت شامل اطلاعات زیر است:
SERVICE_NAME: aehd ... STATE : 4 RUNNING ...
پیام خطای زیر به این معنی است که افزونه مجازی سازی در بایوس شما فعال نیست یا Hyper-V غیرفعال نیست:
SERVICE_NAME: aehd ... STATE : 1 STOPPED WIN32_EXIT_CODE : 4294967201 (0xffffffa1) ...
AEHD 2.0 و پایین تر
sc query gvm
پیام وضعیت شامل اطلاعات زیر است:
SERVICE_NAME: gvm ... STATE : 4 RUNNING ...
پیام خطای زیر به این معنی است که افزونه مجازی سازی در بایوس شما فعال نیست یا Hyper-V غیرفعال نیست:
SERVICE_NAME: gvm ... STATE : 1 STOPPED WIN32_EXIT_CODE : 4294967201 (0xffffffa1) ...
درایور Hypervisor Emulator Android را نیز می توان از GitHub دانلود و نصب کرد. پس از باز کردن بسته درایور، silent_install.bat
در یک خط فرمان با امتیازات مدیر اجرا کنید.
درایور Hypervisor Android Emulator را با استفاده از دستورات زیر در یک خط فرمان با امتیازات مدیر حذف نصب کنید:
AEHD 2.1 و بالاتر
sc stop aehd
sc delete aehd
AEHD 2.0 و پایین تر
sc stop gvm
sc delete gvm
شتاب VM را در macOS پیکربندی کنید
در macOS، شبیهساز اندروید از Hypervisor.Framework داخلی استفاده میکند که به macOS نسخه 10.10 (Yosemite) و بالاتر نیاز دارد. با این حال، Android Studio ممکن است به نسخه بالاتر برای macOS نیاز داشته باشد. در چنین مواردی، سیستم مورد نیاز اندروید استودیو را دنبال کنید.
پیکربندی شتاب VM در لینوکس
سیستم های مبتنی بر لینوکس از شتاب VM از طریق بسته نرم افزاری KVM پشتیبانی می کنند. دستورالعمل های نصب KVM را در سیستم لینوکس خود دنبال کنید و سپس بررسی کنید که KVM فعال باشد. برای سیستم های اوبونتو، نصب Ubuntu KVM را ببینید.
الزامات
اجرای KVM به مجوزهای کاربر خاصی نیاز دارد. اطمینان حاصل کنید که مجوزهای کافی را همانطور که در دستورالعمل های نصب KVM مشخص شده است دارید.
برای استفاده از شتاب VM در لینوکس، رایانه شما باید این شرایط را نیز داشته باشد:
- برای پردازنده های اینتل: پشتیبانی از فناوری مجازی سازی (VT-x)، ویژگی های Intel EM64T (Intel 64) و عملکرد بیت Execute Disable (XD) فعال است.
- برای پردازنده های AMD: پشتیبانی از مجازی سازی AMD (AMD-V).
بررسی کنید که آیا KVM در حال حاضر روی لینوکس نصب شده است یا خیر
می توانید از گزینه emulator -accel-check
command-line استفاده کنید تا بررسی کنید آیا KVM را نصب کرده اید یا خیر. همچنین می توانید بسته cpu-checker
حاوی دستور kvm-ok
را نصب کنید.
مثال زیر نحوه استفاده از دستور kvm-ok
را نشان می دهد:
بسته
cpu-checker
را نصب کنید:sudo apt-get install cpu-checker egrep -c '(vmx|svm)' /proc/cpuinfo
خروجی 1 یا بیشتر به این معنی است که مجازی سازی پشتیبانی می شود. خروجی 0 به این معنی است که CPU شما از مجازی سازی سخت افزاری پشتیبانی نمی کند.
دستور
kvm-ok
را اجرا کنید:sudo kvm-ok
خروجی مورد انتظار:
INFO: /dev/kvm exists KVM acceleration can be used
اگر خطای زیر را دریافت کردید به این معنی است که همچنان می توانید ماشین های مجازی را اجرا کنید. با این حال، ماشین مجازی شما بدون پسوند KVM کندتر است.
INFO: Your CPU does not support KVM extensions KVM acceleration can NOT be used
KVM را روی لینوکس نصب کنید
برای نصب KVM از دستور زیر استفاده کنید:
کیهانی (18.10) یا جدیدتر:
sudo apt-get install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils
Lucid (10.04) یا جدیدتر:
sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils
Karmic (9.10) یا قبل از آن:
sudo aptitude install kvm libvirt-bin ubuntu-vm-builder bridge-utils
راهنمای حذف اینتل HAXM
با شروع از شبیه ساز 33.xxx، HAXM منسوخ شده است زیرا اینتل توسعه HAXM را متوقف می کند . درایور Hypervisor Emulator Android (AEHD) جایگزین Intel HAXM در پردازنده های اینتل می شود.
توصیه می شود اینتل HAXM را به طور کامل از سیستم ویندوز خود حذف کنید، مگر اینکه نرم افزار دیگری را نصب کرده باشید که به HAXM بستگی دارد و انتخاب کنید که Intel HAXM را نگه دارید و خودتان آن را مدیریت کنید.
برای حذف اینتل HAXM مراحل زیر را دنبال کنید:
بررسی کنید که آیا Intel HAXM نصب شده است یا خیر
برای تعیین اینکه آیا Intel HAXM بر روی سیستم ویندوز شما نصب شده است، یک کنسول فرمان ویندوز را باز کنید و دستور زیر را اجرا کنید:
sc query intelhaxm
اگر اینتل HAXM نصب و اجرا شده باشد، باید پیام زیر را در خروجی فرمان مشاهده کنید.
اگر Intel HAXM نصب شده اما غیرفعال است، باید پیام زیر را در خروجی فرمان مشاهده کنید.
در هر دو مورد، صرف نظر از اینکه اینتل HAXM در حال اجرا یا غیرفعال است، نصب می شود. برای ادامه حذف اینتل HAXM باید به مرحله بعدی بروید.
اگر Intel HAXM نصب نشده باشد، باید پیام زیر را مشاهده کنید.
Intel HAXM را با استفاده از مدیر SDK از Android Studio حذف نصب کنید
مدیر SDK را از Android Studio باز کنید، به تب "SDK Tools" بروید، سپس به خط "Intel x86 Emulator Accelerator (HAXM installer) - Deprecated" بروید. باید شبیه تصویر زیر باشد.
همانطور که در تصویر زیر نشان داده شده است، چک باکس را پاک کنید.
روی دکمه "اعمال" کلیک کنید و کادر گفتگوی زیر ظاهر می شود.
وقتی Intel HAXM با موفقیت حذف شد ، باید موارد زیر را مشاهده کنید. حذف نصب انجام شده است و می توانید در اینجا متوقف شوید .
در صورت بروز هرگونه خطا ، به مرحله بعدی ادامه دهید.
Intel HAXM را با استفاده از "تنظیمات" ویندوز حذف کنید.
ویندوز "تنظیمات" را باز کنید و به "برنامه های> برنامه های نصب شده" بروید.
ورودی "این Intel Hardware Accelerated Execution Manager" را پیدا کرده و روی "حذف نصب" کلیک کنید ، همانطور که در تصویر زیر نشان داده شده است.
حذف نصب Intel HAXM باید نتیجه را اجرا و گزارش دهد. اگر حذف موفقیت آمیز است ، به حذف بسته نصب Intel HAXM بروید. در غیر این صورت ، به مرحله بعدی ادامه دهید.
با استفاده از خط فرمان حذف نصب کنید
سرویس Intel HAXM را با اجرای "SC Stop IntelHaxm" متوقف کنید. شما باید خروجی زیر را مشاهده کنید.
سرویس Intel HAXM را با اجرای "SC Delete IntelHaxm" حذف کنید. شما باید خروجی زیر را مشاهده کنید.
برای حذف بسته نصب Intel HAXM بروید.
بسته نصب Intel HAXM را حذف کنید.
این مرحله فقط در هنگام حذف Intel HAXM با استفاده از "تنظیمات" ویندوز یا خط فرمان لازم است. بدون این مرحله ، مدیر SDK استودیوی Android ممکن است لیست Intel HAXM را به عنوان "نصب" ادامه دهد.
بسته نصب در <پوشه Android SDK شما> \ Extras \ Intel قرار دارد. به طور پیش فرض ، Android SDK در "C: \ Users \ <شناسه کاربر ویندوز شما> \ AppData \ Local \ Android \ SDK" نصب می شود. مثال را در تصویر زیر مشاهده کنید.
اگر بتواند از سخت افزار دستگاه شما مانند CPU ، GPU و مودم استفاده کند ، به جای اینکه به عنوان نرم افزار خالص کار کند ، شبیه ساز بهترین کار را انجام می دهد. امکان استفاده از سخت افزار دستگاه شما برای بهبود عملکرد ، شتاب سخت افزاری نامیده می شود.
شبیه ساز می تواند از شتاب سخت افزاری برای بهبود تجربه شما به دو روش اصلی استفاده کند:
- شتاب گرافیکی برای ارائه صفحه نمایش بهبود یافته
- شتاب ماشین مجازی (VM) برای بهبود سرعت اجرای
شتاب سخت افزار به طور پیش فرض در اکثر دستگاه ها فعال می شود. اگر در دستگاه شما فعال نشده باشد ، این صفحه توضیح می دهد که چگونه می توانید شتاب گرافیک و ماشین مجازی (VM) را پیکربندی کنید تا عملکرد بالاتر از شبیه ساز بدست آورید.
شتاب گرافیکی را پیکربندی کنید
دستگاه های Android از OpenGL برای سیستم های تعبیه شده (OpenGL ES یا GLES) و API های Vulkan برای ارائه گرافیک روی صفحه استفاده می کنند. شتاب گرافیکی با استفاده از سخت افزار رایانه شما (به طور معمول GPU) امکان سریعتر ارائه را فراهم می کند. در حالی که شتاب سخت افزاری برای عملکرد توصیه می شود ، اگر رایانه شما به دلیل پشتیبانی از درایور گرافیکی یا نیازهای تصویر سیستم از دست رفته سازگار نیست ، ممکن است نیاز به استفاده از حالت نرم افزار داشته باشید.
هنگامی که یک دستگاه مجازی Android (AVD) را در AVD Manager ایجاد می کنید ، می توانید مشخص کنید که آیا شبیه ساز از سخت افزار یا ارائه نرم افزار استفاده می کند. در حالت اتوماتیک ، شبیه ساز تصمیم می گیرد که از شتاب گرافیک سخت افزار یا نرم افزار بر اساس رایانه شما استفاده کند. در صورت شروع شبیه ساز از خط فرمان ، می توانید تنظیمات را نیز نادیده بگیرید.
شتاب گرافیکی را در مدیر AVD پیکربندی کنید
برای پیکربندی شتاب گرافیکی برای یک AVD ، این مراحل را دنبال کنید:
- مدیر دستگاه را باز کنید.
- یک AVD جدید ایجاد کنید یا یک AVD موجود را ویرایش کنید .
- در پنجره پیکربندی ، بخش عملکرد شبیه سازی شده را در زیر برگه تنظیمات اضافی پیدا کنید.
- یک مقدار برای گزینه شتاب گرافیک انتخاب کنید.
- روی Finish کلیک کنید.
شتاب گرافیکی را از خط فرمان پیکربندی کنید
برای مشخص کردن نوع شتاب گرافیکی هنگام اجرای AVD از خط فرمان ، گزینه -gpu
را درج کنید ، همانطور که در مثال زیر نشان داده شده است:
emulator -avdavd_name -gpumode [{-option [value ]} ... ]
مقدار mode
می توان در یکی از گزینه های زیر تنظیم کرد:
-
auto
: اجازه دهید شبیه ساز بین شتاب سخت افزار یا نرم افزار شتاب گرافیکی بر اساس AVD ، تنظیم رایانه و معیارهای با کیفیت انتخاب کند. -
host
: برای شتاب سخت افزار از GPU در رایانه خود استفاده کنید. این گزینه به طور معمول بالاترین کیفیت و عملکرد گرافیکی را برای شبیه ساز فراهم می کند و می تواند MoltenVK را در MACOS برای رندر شتاب Vulkan فعال کند. با این حال ، اگر در مورد تقلید گرافیکی مشکلی را تجربه می کنید ، ممکن است لازم باشد به ارائه نرم افزار مراجعه کنید. -
swiftshader_indirect
: از یک نوع سازگار با بوت سریع از swiftshader برای ارائه گرافیک با استفاده از شتاب نرم افزار استفاده کنید. اگر رایانه شما نتواند از شتاب سخت افزاری استفاده کند ، این گزینه جایگزین مناسبی برای حالتhost
است.
گزینه های mode
زیر کاهش می یابد:
-
swiftshader
: در نسخه 27.0.2 کاهش یافته است. به جای آن ازswiftshader_indirect
استفاده کنید. -
angle
: در نسخه 27.0.2 کاهش یافته است. به جای آن ازswiftshader_indirect
استفاده کنید. -
mesa
: در نسخه 25.3 کاهش یافته است. به جای آن ازswiftshader_indirect
استفاده کنید. -
guest
: برای سطح API 28 و بعد از آن کاهش یافته است. به جای آن ازswiftshader_indirect
استفاده کنید. -
angle_indirect
: در نسخه 34.2.14 مستهلک شد. به جای آن ازswiftshader_indirect
استفاده کنید.
شتاب VM را پیکربندی کنید
شتاب VM از پردازنده رایانه شما برای بهبود چشمگیر سرعت اجرای شبیه ساز استفاده می کند. ابزاری به نام Hypervisor با استفاده از برنامه های افزودنی مجازی که پردازنده رایانه شما ارائه می دهد ، این تعامل را مدیریت می کند. در این بخش الزامات استفاده از شتاب VM بیان شده و نحوه تنظیم شتاب VM در هر سیستم عامل را شرح می دهد.
الزامات عمومی
برای استفاده از شتاب VM با شبیه ساز ، رایانه شما باید در این بخش نیازهای عمومی را برآورده کند. رایانه شما همچنین باید سایر مواردی را که مخصوص سیستم عامل شما است ، برآورده کند.
الزامات محیط توسعه
برای استفاده از شتاب VM ، محیط توسعه شما باید شرایط زیر را برآورده کند:
- ابزارهای SDK : حداقل نسخه 17 ؛ نسخه توصیه شده 26.1.1 یا بعد از آن
AVD : نسخه اندرویدی مورد نیاز در جدول زیر شرح داده شده است.
معماری CPU نیاز تصویر سیستم X86_64 X86 یا x86_64 تصاویر سیستم برای Android 2.3.3 (سطح API 10) و بالاتر ARM64 تصاویر سیستم ARM64-V8A برای Android 5.0 (API سطح 21) و بالاتر
الزامات پسوند مجازی سازی
علاوه بر الزامات محیط توسعه ، پردازنده رایانه شما باید از پسوندهای مجازی سازی پشتیبانی کند. پردازنده های پشتیبانی شده عبارتند از:
- پردازنده های Intel با فناوری مجازی سازی Intel (VT-X ، VMX) ، مانند پردازنده های Intel Core IX و Intel Core Ultra
- پردازنده های AMD با AMD-V (SVM) ، مانند پردازنده های AMD Ryzen
- سیلیکون سیب
الزامات اضافی برای پردازنده های Intel و AMD:
ترجمه آدرس سطح دوم (Intel EPT یا AMD RVI) برای پردازنده های Intel و AMD مورد نیاز است. بیشتر پردازنده های مدرن Intel و AMD از ترجمه آدرس سطح دوم پشتیبانی می کنند. فقط پردازنده های نسل اول Intel یا AMD که پسوندهای مجازی سازی را ارائه می دهند ممکن است دارای ترجمه صفحه سطح دوم نباشند.
اگر مطمئن نیستید که آیا پردازنده شما از پسوندهای مورد نیاز پشتیبانی می کند ، مشخصات پردازنده خود را در سایت تولید کننده بررسی کنید. اگر پردازنده شما از این برنامه های افزودنی پشتیبانی نمی کند ، پس نمی توانید از شتاب VM استفاده کنید.
محدودیت ها
شتاب VM محدودیت های زیر را دارد:
- شما نمی توانید یک شبیه ساز شتاب VM را درون VM دیگری اجرا کنید ، مانند VM که توسط VirtualBox ، VMware یا Docker میزبان است. شما باید یک شبیه ساز شتاب دهنده VM را مستقیماً بر روی رایانه میزبان خود اجرا کنید.
- بسته به سیستم عامل و Hypervisor خود ، ممکن است نرم افزاری را اجرا نکنید که همزمان با استفاده از یک فناوری مجازی سازی دیگر از یک شبیه ساز VM شربت استفاده کنید. نمونه هایی از چنین نرم افزاری ها شامل راه حل های ماشین مجازی ، برخی از برنامه های آنتی ویروس و چند راه حل ضد چت نیست. اوضاع بیشتر در ویندوز با Hyper-V Off مشاهده می شود. بیشتر این نرم افزارها می توانند بدون هیچ مشکلی با شبیه ساز اندرویدی همزیستی باشند. اما هنگامی که درگیری ها رخ می دهد ، توصیه می شود که همزمان با چنین نرم افزاری ، شبیه ساز شربت VM را اجرا نکنید.
درباره Hypervisors
شتاب VM به یک Hypervisor نیاز دارد ، ابزاری که از پسوندهای مجازی سازی ارائه شده توسط پردازنده رایانه شما استفاده می کند.
بدون شتاب Hypervisor و VM ، شبیه ساز باید کد دستگاه را از بلوک VM توسط بلوک ترجمه کند تا با معماری رایانه میزبان مطابقت داشته باشد. این روند می تواند کاملاً کند باشد. با استفاده از Hypervisor ، هنگامی که VM و معماری رایانه میزبان مطابقت دارند ، شبیه ساز می تواند کد را مستقیماً روی پردازنده میزبان با استفاده از Hypervisor اجرا کند. این پیشرفت هم سرعت و هم عملکرد شبیه ساز را به شدت افزایش می دهد.
Hypervisor که برای شما بهتر کار می کند بستگی به سیستم عامل و پیکربندی رایانه شما دارد. برای اطلاعات بیشتر ، به یکی از بخش های زیر مراجعه کنید:
- شتاب VM را در ویندوز پیکربندی کنید
- شتاب VM را در MACOS پیکربندی کنید
- شتاب VM را در لینوکس پیکربندی کنید
بررسی کنید که آیا یک Hypervisor نصب شده است
برای بررسی اینکه آیا یک Hypervisor در حال حاضر روی رایانه شما نصب شده است ، می توانید از گزینه خط فرمان Emulator -accel-check
استفاده کنید.
مثالهای زیر نحوه استفاده از گزینه Emulator accel-check
نشان می دهد. در هر مثال ، Sdk
محل Android SDK است:
ویندوز:
c:\Users\janedoe\AppData\Local\Android>Sdk \emulator\emulator -accel-check accel: 0 WHPX(10.0.22631) is installed and usable. accel
MACOS:
janedoe-macbookpro:Android janedoe$ ./Sdk /emulator/emulator -accel-check accel: 0 Hypervisor.Framework OS X Version 13.2 accel
لینوکس:
janedoe:~/Android$ ./Sdk /emulator/emulator -accel-check accel: 0 KVM (version 12) is installed and usable.
شتاب VM را در ویندوز پیکربندی کنید
شتاب VM در ویندوز می تواند از یکی از دو Hypervisors استفاده کند:
- پلت فرم Hypervisor Windows (WHPX)
- درایور Hypervisor Emulator Android (AEHD)
پلت فرم Hypervisor Windows از Hypervisor Hyper-V از ویندوز استفاده می کند و با کاهش بی ثباتی بهترین سازگاری را ارائه می دهد. در صورت امکان ، باید از WHPX استفاده کنید.
اگر سیستم شما از WHPX پشتیبانی نمی کند ، یا نگرانی های دیگری در مورد استفاده از آن دارید ، می توانید از درایور Hypervisor Emulator Android استفاده کنید.
شتاب VM را با استفاده از پلت فرم Hypervisor Windows پیکربندی کنید
قبل از اینکه بتوانید WHPX را فعال کنید ، رایانه شما باید شرایط زیر را برآورده کند:
- پردازنده های اینتل: پشتیبانی از فناوری مجازی سازی (VT-X) ، جداول صفحه گسترده (EPT) و ویژگی های مهمان بدون محدودیت (UG). VT-x باید در تنظیمات BIOS کامپیوتر شما فعال باشد.
- پردازنده های AMD: پردازنده AMD Ryzen توصیه می شود. مجازی سازی یا SVM باید در تنظیمات BIOS کامپیوتر شما فعال باشد.
- Android Studio 3.2 بتا 1 یا بالاتر
- Android Emulator نسخه 27.3.8 یا بالاتر
- ویندوز 10 یا بالاتر
برای نصب WHPX در ویندوز ، این مراحل را دنبال کنید:
- از دسک تاپ ویندوز ، روی نماد ویندوز کلیک کنید تا منوی Start باز شود.
با استفاده از نوار جستجو ، ویژگی های ویندوز را به نوبه خود تایپ کنید یا خاموش کنید .
ویژگی های Windows Turn Windows روشن یا خاموش پنل باید ظاهر شود و انتخاب شود.
کلید Enter را فشار دهید یا ویژگی های Windows Windows را روشن یا خاموش کنید تا کنترل پنل را راه اندازی کنید.
کادر کنار پلت فرم Hypervisor Windows را بررسی کنید.
روی OK کلیک کنید.
پس از اتمام نصب ، رایانه خود را مجدداً راه اندازی کنید.
شتاب VM را با استفاده از درایور Hypervisor Emulator Android (AEHD) در ویندوز پیکربندی کنید
قبل از اینکه بتوانید درایور Hypervisor Emulator Android Emulator را نصب و استفاده کنید ، رایانه شما باید شرایط زیر را برآورده کند:
- پردازنده های Intel یا AMD با پسوند مجازی سازی.
64 بیتی ویندوز 11 یا ویندوز 10 (ویندوز 32 بیتی پشتیبانی نمی شود)
کاربران ویندوز 8.1 ، ویندوز 8 و ویندوز 7 می توانند با استفاده از AEHD 1.7 یا پایین تر ادامه دهند. با این حال ، هیچ حمایتی برای چنین سناریوهایی ارائه نخواهد شد.
ویژگی هایی که از Hypervisor Windows Hyper-V نیز استفاده می کنند ، باید در گفتگوی Windows Pethays غیرفعال شوند.
برخی از اجزای ویندوز نیز از Hypervisor Windows Windows فعال و استفاده می کنند ، حتی اگر پلت فرم Hypervisor Windows در گفتگوی ویژگی های ویندوز انتخاب نشود. این موارد شامل ویژگی های امنیتی مانند Hyper-V ، جداسازی هسته و سایر موارد است. (توجه داشته باشید که ویژگی Hyper-V برابر با Hyper-V Hypervisor نیست.) اگر به این ویژگی ها احتیاج دارید ، به جای آن از WHPX استفاده کنید.
در پردازنده های AMD ، درایور Hypervisor Emulator Android از طریق مدیر SDK در Android Studio 4.0 Canary 5 یا بعد از آن نصب می شود.
در پردازنده های اینتل ، درایور Hypervisor Emulator Android از طریق مدیر SDK در Android Studio Flamingo یا بعد از آن نصب می شود.
برای نصب از مدیر SDK ، این مراحل را دنبال کنید:
- ابزارها> SDK Manager را انتخاب کنید.
- روی برگه SDK Tools کلیک کنید و درایور Hypervisor Emulator Android را انتخاب کنید.
- برای بارگیری و نصب درایور Android Emulator Hypervisor ، روی OK کلیک کنید.
پس از نصب ، تأیید کنید که درایور با استفاده از دستور خط فرمان زیر به درستی کار می کند:
AEHD 2.1 و بالاتر
sc query aehd
یک پیام وضعیت شامل اطلاعات زیر است:
SERVICE_NAME: aehd ... STATE : 4 RUNNING ...
پیام خطای زیر به این معنی است که پسوند مجازی سازی در BIOS شما فعال نمی شود یا اینکه Hyper-V غیرفعال نیست:
SERVICE_NAME: aehd ... STATE : 1 STOPPED WIN32_EXIT_CODE : 4294967201 (0xffffffa1) ...
AEHD 2.0 و پایین
sc query gvm
یک پیام وضعیت شامل اطلاعات زیر است:
SERVICE_NAME: gvm ... STATE : 4 RUNNING ...
پیام خطای زیر به این معنی است که پسوند مجازی سازی در BIOS شما فعال نمی شود یا اینکه Hyper-V غیرفعال نیست:
SERVICE_NAME: gvm ... STATE : 1 STOPPED WIN32_EXIT_CODE : 4294967201 (0xffffffa1) ...
درایور Hypervisor Emulator Android همچنین می تواند از GitHub بارگیری و نصب شود. پس از باز کردن بسته درایور ، silent_install.bat
در یک خط فرمان با امتیازات مدیر اجرا کنید.
درایور Hypervisor Emulator Android Emulator را با استفاده از دستورات زیر در یک خط فرمان با امتیازات مدیر حذف نصب کنید:
AEHD 2.1 و بالاتر
sc stop aehd
sc delete aehd
AEHD 2.0 و پایین
sc stop gvm
sc delete gvm
شتاب VM را در MACOS پیکربندی کنید
در MACOS ، Android Emulator از Hypervisor.framework داخلی استفاده می کند ، که به MacOS V10.10 (Yosemite) و بالاتر نیاز دارد. با این حال ، Android Studio ممکن است برای MACOS به نسخه بالاتری نیاز داشته باشد. در چنین مواردی ، نیازهای سیستم استودیوی Android را دنبال کنید.
شتاب VM را در لینوکس پیکربندی کنید
سیستم های مبتنی بر لینوکس از شتاب VM از طریق بسته نرم افزاری KVM پشتیبانی می کنند. دستورالعمل های نصب KVM را بر روی سیستم لینوکس خود دنبال کنید و سپس تأیید کنید که KVM فعال است. برای سیستم های اوبونتو ، به نصب Ubuntu KVM مراجعه کنید.
الزامات
اجرای KVM به مجوزهای خاص کاربر نیاز دارد. اطمینان حاصل کنید که مجوزهای کافی را مطابق دستورالعمل نصب KVM دارید.
برای استفاده از شتاب VM در لینوکس ، رایانه شما نیز باید این الزامات را برآورده کند:
- برای پردازنده های اینتل: پشتیبانی از فناوری مجازی سازی (VT-X) ، ویژگی های Intel EM64T (Intel 64) ، و عملکرد BIT DISABLE (XD) را فعال می کند.
- برای پردازنده های AMD: پشتیبانی از مجازی سازی AMD (AMD-V).
بررسی کنید که آیا KVM در حال حاضر در لینوکس نصب شده است
برای بررسی اینکه آیا KVM نصب کرده اید ، می توانید از گزینه خط فرمان emulator -accel-check
استفاده کنید. از طرف دیگر ، می توانید بسته cpu-checker
حاوی دستور kvm-ok
را نصب کنید.
مثال زیر نحوه استفاده از دستور kvm-ok
را نشان می دهد:
بسته
cpu-checker
را نصب کنید:sudo apt-get install cpu-checker egrep -c '(vmx|svm)' /proc/cpuinfo
خروجی 1 یا بیشتر به این معنی است که مجازی سازی پشتیبانی می شود. خروجی 0 به این معنی است که CPU شما از مجازی سازی سخت افزار پشتیبانی نمی کند.
دستور
kvm-ok
را اجرا کنید:sudo kvm-ok
خروجی مورد انتظار:
INFO: /dev/kvm exists KVM acceleration can be used
اگر خطای زیر را بدست آورید ، این بدان معنی است که هنوز هم می توانید ماشینهای مجازی را اجرا کنید. با این حال ، دستگاه مجازی شما بدون پسوند KVM کندتر است.
INFO: Your CPU does not support KVM extensions KVM acceleration can NOT be used
KVM را روی لینوکس نصب کنید
برای نصب KVM از دستور زیر استفاده کنید:
کیهانی (18.10) یا بعد از آن:
sudo apt-get install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils
LUCID (10.04) یا بعد از آن:
sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils
کارمیک (9.10) یا قبل از آن:
sudo aptitude install kvm libvirt-bin ubuntu-vm-builder bridge-utils
راهنمای حذف نصب Intel HAXM
با شروع از شبیه ساز 33.xxx ، HAXM به عنوان Intel توسعه HAXM را ناپدید می کند . درایور Hypervisor Emulator Android (AEHD) جایگزین Intel HAXM در پردازنده های اینتل می شود.
توصیه می شود اینتل HAXM را به طور کامل از سیستم ویندوز خود حذف کنید، مگر اینکه نرم افزار دیگری را نصب کرده باشید که به HAXM بستگی دارد و انتخاب کنید که Intel HAXM را نگه دارید و خودتان آن را مدیریت کنید.
برای حذف Intel Haxm ، این مراحل را دنبال کنید:
بررسی کنید که آیا Intel HAXM نصب شده است
برای تعیین اینکه آیا Intel HAXM بر روی سیستم ویندوز شما نصب شده است ، یک کنسول فرمان ویندوز را باز کرده و دستور زیر را اجرا کنید:
sc query intelhaxm
اگر Intel HAXM نصب و اجرا شده است ، باید پیام زیر را در خروجی فرمان مشاهده کنید.
اگر Intel HAXM نصب شده اما غیرفعال است ، باید پیام زیر را در خروجی فرمان مشاهده کنید.
در هر دو مورد ، صرف نظر از اینکه اینتل HAXM در حال اجرا یا غیرفعال است ، نصب شده است. برای ادامه نصب Intel Haxm باید به مرحله بعدی بروید.
اگر Intel HAXM نصب نشده است ، باید پیام زیر را مشاهده کنید.
Intel HAXM را با استفاده از SDK Manager از Android Studio حذف کنید
مدیر SDK را از استودیوی Android باز کنید ، به برگه "SDK Tools" بروید ، سپس به خط "Intel x86 Emulator (نصب کننده HAXM)) - مستهلک" بروید. باید مانند تصویر زیر باشد.
کادر انتخاب را همانطور که در تصویر زیر نشان داده شده است پاک کنید.
روی دکمه "اعمال" کلیک کنید و گفتگوی زیر باید ظاهر شود.
وقتی Intel HAXM با موفقیت حذف شد ، باید موارد زیر را مشاهده کنید. حذف نصب انجام شده است و می توانید در اینجا متوقف شوید .
در صورت بروز هرگونه خطا ، به مرحله بعدی ادامه دهید.
Intel HAXM را با استفاده از "تنظیمات" ویندوز حذف کنید.
ویندوز "تنظیمات" را باز کنید و به "برنامه های> برنامه های نصب شده" بروید.
ورودی "این Intel Hardware Accelerated Execution Manager" را پیدا کرده و روی "حذف نصب" کلیک کنید ، همانطور که در تصویر زیر نشان داده شده است.
حذف نصب Intel HAXM باید نتیجه را اجرا و گزارش دهد. اگر حذف موفقیت آمیز است ، به حذف بسته نصب Intel HAXM بروید. در غیر این صورت ، به مرحله بعدی ادامه دهید.
با استفاده از خط فرمان حذف نصب کنید
سرویس Intel HAXM را با اجرای "SC Stop IntelHaxm" متوقف کنید. شما باید خروجی زیر را مشاهده کنید.
سرویس Intel HAXM را با اجرای "SC Delete IntelHaxm" حذف کنید. شما باید خروجی زیر را مشاهده کنید.
برای حذف بسته نصب Intel HAXM بروید.
بسته نصب Intel HAXM را حذف کنید.
این مرحله فقط در هنگام حذف Intel HAXM با استفاده از "تنظیمات" ویندوز یا خط فرمان لازم است. بدون این مرحله ، مدیر SDK استودیوی Android ممکن است لیست Intel HAXM را به عنوان "نصب" ادامه دهد.
بسته نصب در <پوشه Android SDK شما> \ Extras \ Intel قرار دارد. به طور پیش فرض ، Android SDK در "C: \ Users \ <شناسه کاربر ویندوز شما> \ AppData \ Local \ Android \ SDK" نصب می شود. مثال را در تصویر زیر مشاهده کنید.
اگر بتواند از سخت افزار دستگاه شما مانند CPU ، GPU و مودم استفاده کند ، به جای اینکه به عنوان نرم افزار خالص کار کند ، شبیه ساز بهترین کار را انجام می دهد. امکان استفاده از سخت افزار دستگاه شما برای بهبود عملکرد ، شتاب سخت افزاری نامیده می شود.
شبیه ساز می تواند از شتاب سخت افزاری برای بهبود تجربه شما به دو روش اصلی استفاده کند:
- شتاب گرافیکی برای ارائه صفحه نمایش بهبود یافته
- شتاب ماشین مجازی (VM) برای بهبود سرعت اجرای
شتاب سخت افزار به طور پیش فرض در اکثر دستگاه ها فعال می شود. اگر در دستگاه شما فعال نشده باشد ، این صفحه توضیح می دهد که چگونه می توانید شتاب گرافیک و ماشین مجازی (VM) را پیکربندی کنید تا عملکرد بالاتر از شبیه ساز بدست آورید.
شتاب گرافیکی را پیکربندی کنید
دستگاه های Android از OpenGL برای سیستم های تعبیه شده (OpenGL ES یا GLES) و API های Vulkan برای ارائه گرافیک روی صفحه استفاده می کنند. شتاب گرافیکی با استفاده از سخت افزار رایانه شما (به طور معمول GPU) امکان سریعتر ارائه را فراهم می کند. در حالی که شتاب سخت افزاری برای عملکرد توصیه می شود ، اگر رایانه شما به دلیل پشتیبانی از درایور گرافیکی یا نیازهای تصویر سیستم از دست رفته سازگار نیست ، ممکن است نیاز به استفاده از حالت نرم افزار داشته باشید.
هنگامی که یک دستگاه مجازی Android (AVD) را در AVD Manager ایجاد می کنید ، می توانید مشخص کنید که آیا شبیه ساز از سخت افزار یا ارائه نرم افزار استفاده می کند. در حالت اتوماتیک ، شبیه ساز تصمیم می گیرد که از شتاب گرافیک سخت افزار یا نرم افزار بر اساس رایانه شما استفاده کند. در صورت شروع شبیه ساز از خط فرمان ، می توانید تنظیمات را نیز نادیده بگیرید.
شتاب گرافیکی را در مدیر AVD پیکربندی کنید
برای پیکربندی شتاب گرافیکی برای یک AVD ، این مراحل را دنبال کنید:
- مدیر دستگاه را باز کنید.
- یک AVD جدید ایجاد کنید یا یک AVD موجود را ویرایش کنید .
- در پنجره پیکربندی ، بخش عملکرد شبیه سازی شده را در زیر برگه تنظیمات اضافی پیدا کنید.
- یک مقدار برای گزینه شتاب گرافیک انتخاب کنید.
- روی Finish کلیک کنید.
شتاب گرافیکی را از خط فرمان پیکربندی کنید
برای مشخص کردن نوع شتاب گرافیکی هنگام اجرای AVD از خط فرمان ، گزینه -gpu
را درج کنید ، همانطور که در مثال زیر نشان داده شده است:
emulator -avdavd_name -gpumode [{-option [value ]} ... ]
مقدار mode
می توان در یکی از گزینه های زیر تنظیم کرد:
-
auto
: اجازه دهید شبیه ساز بین شتاب سخت افزار یا نرم افزار شتاب گرافیکی بر اساس AVD ، تنظیم رایانه و معیارهای با کیفیت انتخاب کند. -
host
: برای شتاب سخت افزار از GPU در رایانه خود استفاده کنید. این گزینه به طور معمول بالاترین کیفیت و عملکرد گرافیکی را برای شبیه ساز فراهم می کند و می تواند MoltenVK را در MACOS برای رندر شتاب Vulkan فعال کند. با این حال ، اگر در مورد تقلید گرافیکی مشکلی را تجربه می کنید ، ممکن است لازم باشد به ارائه نرم افزار مراجعه کنید. -
swiftshader_indirect
: از یک نوع سازگار با بوت سریع از swiftshader برای ارائه گرافیک با استفاده از شتاب نرم افزار استفاده کنید. اگر رایانه شما نتواند از شتاب سخت افزاری استفاده کند ، این گزینه جایگزین مناسبی برای حالتhost
است.
گزینه های mode
زیر کاهش می یابد:
-
swiftshader
: در نسخه 27.0.2 کاهش یافته است. به جای آن ازswiftshader_indirect
استفاده کنید. -
angle
: در نسخه 27.0.2 کاهش یافته است. به جای آن ازswiftshader_indirect
استفاده کنید. -
mesa
: در نسخه 25.3 کاهش یافته است. به جای آن ازswiftshader_indirect
استفاده کنید. -
guest
: برای سطح API 28 و بعد از آن کاهش یافته است. به جای آن ازswiftshader_indirect
استفاده کنید. -
angle_indirect
: در نسخه 34.2.14 مستهلک شد. به جای آن ازswiftshader_indirect
استفاده کنید.
شتاب VM را پیکربندی کنید
شتاب VM از پردازنده رایانه شما برای بهبود چشمگیر سرعت اجرای شبیه ساز استفاده می کند. ابزاری به نام Hypervisor با استفاده از برنامه های افزودنی مجازی که پردازنده رایانه شما ارائه می دهد ، این تعامل را مدیریت می کند. در این بخش الزامات استفاده از شتاب VM بیان شده و نحوه تنظیم شتاب VM در هر سیستم عامل را شرح می دهد.
الزامات عمومی
برای استفاده از شتاب VM با شبیه ساز ، رایانه شما باید در این بخش نیازهای عمومی را برآورده کند. رایانه شما همچنین باید سایر مواردی را که مخصوص سیستم عامل شما است ، برآورده کند.
الزامات محیط توسعه
برای استفاده از شتاب VM ، محیط توسعه شما باید شرایط زیر را برآورده کند:
- ابزارهای SDK : حداقل نسخه 17 ؛ نسخه توصیه شده 26.1.1 یا بعد از آن
AVD : نسخه اندرویدی مورد نیاز در جدول زیر شرح داده شده است.
معماری CPU نیاز تصویر سیستم X86_64 X86 یا x86_64 تصاویر سیستم برای Android 2.3.3 (سطح API 10) و بالاتر ARM64 تصاویر سیستم ARM64-V8A برای Android 5.0 (API سطح 21) و بالاتر
الزامات پسوند مجازی سازی
علاوه بر الزامات محیط توسعه ، پردازنده رایانه شما باید از پسوندهای مجازی سازی پشتیبانی کند. پردازنده های پشتیبانی شده عبارتند از:
- پردازنده های Intel با فناوری مجازی سازی Intel (VT-X ، VMX) ، مانند پردازنده های Intel Core IX و Intel Core Ultra
- پردازنده های AMD با AMD-V (SVM) ، مانند پردازنده های AMD Ryzen
- سیلیکون سیب
الزامات اضافی برای پردازنده های Intel و AMD:
ترجمه آدرس سطح دوم (Intel EPT یا AMD RVI) برای پردازنده های Intel و AMD مورد نیاز است. بیشتر پردازنده های مدرن Intel و AMD از ترجمه آدرس سطح دوم پشتیبانی می کنند. فقط پردازنده های نسل اول Intel یا AMD که پسوندهای مجازی سازی را ارائه می دهند ممکن است دارای ترجمه صفحه سطح دوم نباشند.
اگر مطمئن نیستید که آیا پردازنده شما از پسوندهای مورد نیاز پشتیبانی می کند ، مشخصات پردازنده خود را در سایت تولید کننده بررسی کنید. اگر پردازنده شما از این برنامه های افزودنی پشتیبانی نمی کند ، پس نمی توانید از شتاب VM استفاده کنید.
محدودیت ها
شتاب VM محدودیت های زیر را دارد:
- شما نمی توانید یک شبیه ساز شتاب VM را درون VM دیگری اجرا کنید ، مانند VM که توسط VirtualBox ، VMware یا Docker میزبان است. شما باید یک شبیه ساز شتاب دهنده VM را مستقیماً بر روی رایانه میزبان خود اجرا کنید.
- بسته به سیستم عامل و Hypervisor خود ، ممکن است نرم افزاری را اجرا نکنید که همزمان با استفاده از یک فناوری مجازی سازی دیگر از یک شبیه ساز VM شربت استفاده کنید. نمونه هایی از چنین نرم افزاری ها شامل راه حل های ماشین مجازی ، برخی از برنامه های آنتی ویروس و چند راه حل ضد چت نیست. اوضاع بیشتر در ویندوز با Hyper-V Off مشاهده می شود. بیشتر این نرم افزارها می توانند بدون هیچ مشکلی با شبیه ساز اندرویدی همزیستی باشند. اما هنگامی که درگیری ها رخ می دهد ، توصیه می شود که همزمان با چنین نرم افزاری ، شبیه ساز شربت VM را اجرا نکنید.
درباره Hypervisors
شتاب VM به یک Hypervisor نیاز دارد ، ابزاری که از پسوندهای مجازی سازی ارائه شده توسط پردازنده رایانه شما استفاده می کند.
بدون شتاب Hypervisor و VM ، شبیه ساز باید کد دستگاه را از بلوک VM توسط بلوک ترجمه کند تا با معماری رایانه میزبان مطابقت داشته باشد. این روند می تواند کاملاً کند باشد. با استفاده از Hypervisor ، هنگامی که VM و معماری رایانه میزبان مطابقت دارند ، شبیه ساز می تواند کد را مستقیماً روی پردازنده میزبان با استفاده از Hypervisor اجرا کند. این پیشرفت هم سرعت و هم عملکرد شبیه ساز را به شدت افزایش می دهد.
Hypervisor که برای شما بهتر کار می کند بستگی به سیستم عامل و پیکربندی رایانه شما دارد. برای اطلاعات بیشتر ، به یکی از بخش های زیر مراجعه کنید:
- شتاب VM را در ویندوز پیکربندی کنید
- شتاب VM را در MACOS پیکربندی کنید
- شتاب VM را در لینوکس پیکربندی کنید
بررسی کنید که آیا یک Hypervisor نصب شده است
برای بررسی اینکه آیا یک Hypervisor در حال حاضر روی رایانه شما نصب شده است ، می توانید از گزینه خط فرمان Emulator -accel-check
استفاده کنید.
مثالهای زیر نحوه استفاده از گزینه Emulator accel-check
نشان می دهد. در هر مثال ، Sdk
محل Android SDK است:
ویندوز:
c:\Users\janedoe\AppData\Local\Android>Sdk \emulator\emulator -accel-check accel: 0 WHPX(10.0.22631) is installed and usable. accel
MACOS:
janedoe-macbookpro:Android janedoe$ ./Sdk /emulator/emulator -accel-check accel: 0 Hypervisor.Framework OS X Version 13.2 accel
لینوکس:
janedoe:~/Android$ ./Sdk /emulator/emulator -accel-check accel: 0 KVM (version 12) is installed and usable.
شتاب VM را در ویندوز پیکربندی کنید
شتاب VM در ویندوز می تواند از یکی از دو Hypervisors استفاده کند:
- پلت فرم Hypervisor Windows (WHPX)
- درایور Hypervisor Emulator Android (AEHD)
پلت فرم Hypervisor Windows از Hypervisor Hyper-V از ویندوز استفاده می کند و با کاهش بی ثباتی بهترین سازگاری را ارائه می دهد. در صورت امکان ، باید از WHPX استفاده کنید.
اگر سیستم شما از WHPX پشتیبانی نمی کند ، یا نگرانی های دیگری در مورد استفاده از آن دارید ، می توانید از درایور Hypervisor Emulator Android استفاده کنید.
شتاب VM را با استفاده از پلت فرم Hypervisor Windows پیکربندی کنید
قبل از اینکه بتوانید WHPX را فعال کنید ، رایانه شما باید شرایط زیر را برآورده کند:
- پردازنده های اینتل: پشتیبانی از فناوری مجازی سازی (VT-X) ، جداول صفحه گسترده (EPT) و ویژگی های مهمان بدون محدودیت (UG). VT-x باید در تنظیمات BIOS کامپیوتر شما فعال باشد.
- پردازنده های AMD: پردازنده AMD Ryzen توصیه می شود. مجازی سازی یا SVM باید در تنظیمات BIOS کامپیوتر شما فعال باشد.
- Android Studio 3.2 بتا 1 یا بالاتر
- Android Emulator نسخه 27.3.8 یا بالاتر
- ویندوز 10 یا بالاتر
برای نصب WHPX در ویندوز ، این مراحل را دنبال کنید:
- از دسک تاپ ویندوز ، روی نماد ویندوز کلیک کنید تا منوی Start باز شود.
با استفاده از نوار جستجو ، ویژگی های ویندوز را به نوبه خود تایپ کنید یا خاموش کنید .
ویژگی های Windows Turn Windows روشن یا خاموش پنل باید ظاهر شود و انتخاب شود.
کلید Enter را فشار دهید یا ویژگی های Windows Windows را روشن یا خاموش کنید تا کنترل پنل را راه اندازی کنید.
کادر کنار پلت فرم Hypervisor Windows را بررسی کنید.
روی OK کلیک کنید.
پس از اتمام نصب ، رایانه خود را مجدداً راه اندازی کنید.
شتاب VM را با استفاده از درایور Hypervisor Emulator Android (AEHD) در ویندوز پیکربندی کنید
قبل از اینکه بتوانید درایور Hypervisor Emulator Android Emulator را نصب و استفاده کنید ، رایانه شما باید شرایط زیر را برآورده کند:
- پردازنده های Intel یا AMD با پسوند مجازی سازی.
64 بیتی ویندوز 11 یا ویندوز 10 (ویندوز 32 بیتی پشتیبانی نمی شود)
کاربران ویندوز 8.1 ، ویندوز 8 و ویندوز 7 می توانند با استفاده از AEHD 1.7 یا پایین تر ادامه دهند. با این حال ، هیچ حمایتی برای چنین سناریوهایی ارائه نخواهد شد.
ویژگی هایی که از Hypervisor Windows Hyper-V نیز استفاده می کنند ، باید در گفتگوی Windows Pethays غیرفعال شوند.
برخی از اجزای ویندوز نیز از Hypervisor Windows Windows فعال و استفاده می کنند ، حتی اگر پلت فرم Hypervisor Windows در گفتگوی ویژگی های ویندوز انتخاب نشود. این موارد شامل ویژگی های امنیتی مانند Hyper-V ، جداسازی هسته و سایر موارد است. (توجه داشته باشید که ویژگی Hyper-V برابر با Hyper-V Hypervisor نیست.) اگر به این ویژگی ها احتیاج دارید ، به جای آن از WHPX استفاده کنید.
در پردازنده های AMD ، درایور Hypervisor Emulator Android از طریق مدیر SDK در Android Studio 4.0 Canary 5 یا بعد از آن نصب می شود.
در پردازنده های اینتل ، درایور Hypervisor Emulator Android از طریق مدیر SDK در Android Studio Flamingo یا بعد از آن نصب می شود.
برای نصب از مدیر SDK ، این مراحل را دنبال کنید:
- ابزارها> SDK Manager را انتخاب کنید.
- روی برگه SDK Tools کلیک کنید و درایور Hypervisor Emulator Android را انتخاب کنید.
- برای بارگیری و نصب درایور Android Emulator Hypervisor ، روی OK کلیک کنید.
پس از نصب ، تأیید کنید که درایور با استفاده از دستور خط فرمان زیر به درستی کار می کند:
AEHD 2.1 و بالاتر
sc query aehd
یک پیام وضعیت شامل اطلاعات زیر است:
SERVICE_NAME: aehd ... STATE : 4 RUNNING ...
پیام خطای زیر به این معنی است که پسوند مجازی سازی در BIOS شما فعال نمی شود یا اینکه Hyper-V غیرفعال نیست:
SERVICE_NAME: aehd ... STATE : 1 STOPPED WIN32_EXIT_CODE : 4294967201 (0xffffffa1) ...
AEHD 2.0 و پایین
sc query gvm
یک پیام وضعیت شامل اطلاعات زیر است:
SERVICE_NAME: gvm ... STATE : 4 RUNNING ...
پیام خطای زیر به این معنی است که پسوند مجازی سازی در BIOS شما فعال نمی شود یا اینکه Hyper-V غیرفعال نیست:
SERVICE_NAME: gvm ... STATE : 1 STOPPED WIN32_EXIT_CODE : 4294967201 (0xffffffa1) ...
درایور Hypervisor Emulator Android همچنین می تواند از GitHub بارگیری و نصب شود. پس از باز کردن بسته درایور ، silent_install.bat
در یک خط فرمان با امتیازات مدیر اجرا کنید.
درایور Hypervisor Emulator Android Emulator را با استفاده از دستورات زیر در یک خط فرمان با امتیازات مدیر حذف نصب کنید:
AEHD 2.1 و بالاتر
sc stop aehd
sc delete aehd
AEHD 2.0 و پایین
sc stop gvm
sc delete gvm
شتاب VM را در MACOS پیکربندی کنید
در MACOS ، Android Emulator از Hypervisor.framework داخلی استفاده می کند ، که به MacOS V10.10 (Yosemite) و بالاتر نیاز دارد. با این حال ، Android Studio ممکن است برای MACOS به نسخه بالاتری نیاز داشته باشد. در چنین مواردی ، نیازهای سیستم استودیوی Android را دنبال کنید.
شتاب VM را در لینوکس پیکربندی کنید
سیستم های مبتنی بر لینوکس از شتاب VM از طریق بسته نرم افزاری KVM پشتیبانی می کنند. دستورالعمل های نصب KVM را بر روی سیستم لینوکس خود دنبال کنید و سپس تأیید کنید که KVM فعال است. برای سیستم های اوبونتو ، به نصب Ubuntu KVM مراجعه کنید.
الزامات
اجرای KVM به مجوزهای خاص کاربر نیاز دارد. اطمینان حاصل کنید که مجوزهای کافی را مطابق دستورالعمل نصب KVM دارید.
برای استفاده از شتاب VM در لینوکس ، رایانه شما نیز باید این الزامات را برآورده کند:
- برای پردازنده های اینتل: پشتیبانی از فناوری مجازی سازی (VT-X) ، ویژگی های Intel EM64T (Intel 64) ، و عملکرد BIT DISABLE (XD) را فعال می کند.
- برای پردازنده های AMD: پشتیبانی از مجازی سازی AMD (AMD-V).
بررسی کنید که آیا KVM در حال حاضر در لینوکس نصب شده است
برای بررسی اینکه آیا KVM نصب کرده اید ، می توانید از گزینه خط فرمان emulator -accel-check
استفاده کنید. از طرف دیگر ، می توانید بسته cpu-checker
حاوی دستور kvm-ok
را نصب کنید.
مثال زیر نحوه استفاده از دستور kvm-ok
را نشان می دهد:
بسته
cpu-checker
را نصب کنید:sudo apt-get install cpu-checker egrep -c '(vmx|svm)' /proc/cpuinfo
خروجی 1 یا بیشتر به این معنی است که مجازی سازی پشتیبانی می شود. خروجی 0 به این معنی است که CPU شما از مجازی سازی سخت افزار پشتیبانی نمی کند.
دستور
kvm-ok
را اجرا کنید:sudo kvm-ok
خروجی مورد انتظار:
INFO: /dev/kvm exists KVM acceleration can be used
اگر خطای زیر را بدست آورید ، این بدان معنی است که هنوز هم می توانید ماشینهای مجازی را اجرا کنید. با این حال ، دستگاه مجازی شما بدون پسوند KVM کندتر است.
INFO: Your CPU does not support KVM extensions KVM acceleration can NOT be used
KVM را روی لینوکس نصب کنید
Use the following command to install KVM:
Cosmic (18.10) or later:
sudo apt-get install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils
Lucid (10.04) or later:
sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils
Karmic (9.10) or earlier:
sudo aptitude install kvm libvirt-bin ubuntu-vm-builder bridge-utils
Guide for Intel HAXM Uninstallation
Starting from emulator 33.xxx, HAXM is deprecated as Intel discontinues development of HAXM . درایور Hypervisor Emulator Android (AEHD) جایگزین Intel HAXM در پردازنده های اینتل می شود.
توصیه می شود اینتل HAXM را به طور کامل از سیستم ویندوز خود حذف کنید، مگر اینکه نرم افزار دیگری را نصب کرده باشید که به HAXM بستگی دارد و انتخاب کنید که Intel HAXM را نگه دارید و خودتان آن را مدیریت کنید.
To uninstall Intel HAXM, follow these steps:
Check whether Intel HAXM is installed
To determine whether Intel HAXM is installed on your Windows system, open a Windows command console and run the following command:
sc query intelhaxm
If Intel HAXM is installed and running, you should see the following message in the command output.
If Intel HAXM is installed but disabled, you should see the following message in the command output.
In both cases, regardless whether Intel HAXM is running or disabled, it is installed. You need to go to the next step to continue to uninstall Intel HAXM.
If Intel HAXM is not installed, you should see the following message.
Uninstall Intel HAXM using SDK manager from the Android Studio
Open the SDK manager from the Android Studio, get to the "SDK Tools" tab, then navigate to the "Intel x86 Emulator Accelerator (HAXM installer) - Deprecated" line. It should look like the following screenshot.
Clear the checkbox as shown in the following screenshot.
Click "Apply" button and the following dialog should pop up.
When Intel HAXM is successfully uninstalled, you should see the following. Uninstallation is done and you can stop here .
In case of any errors, continue to the next step .
Uninstall Intel HAXM using Windows "settings".
Open Windows "settings" and navigate to "Apps > Installed apps".
Locate the "Intel Hardware Accelerated Execution Manager" entry and click "Uninstall", as shown in the following screenshot.
The Intel HAXM uninstaller should run and report the result. If the uninstallation is successful, go to Delete Intel HAXM installer package . Otherwise, continue to the next step .
Uninstall using command line
Stop Intel HAXM service by running 'sc stop intelhaxm'. You should see the following output.
Delete Intel HAXM service by running 'sc delete intelhaxm'. You should see the following output.
Go to Delete Intel HAXM installer package .
Delete Intel HAXM installer package.
This step is only required when uninstalling Intel HAXM using Windows "settings" or command line. Without this step, the SDK manager of the Android Studio may continue listing Intel HAXM as "Installed".
The installer package is located at<Your Android SDK folder>\extras\intel. By default, Android SDK will be installed at "C:\Users\<Your Windows User ID >\AppData\Local\Android\Sdk". See example in the following screenshot.