عیب یابی مشکلات شناخته شده با شبیه ساز اندروید

این صفحه مشکلات شناخته شده، راه حل ها و نکات عیب یابی شبیه ساز اندروید را فهرست می کند. اگر با مشکلی مواجه شدید که در اینجا فهرست نشده است یا نمی توانید با موفقیت از راه حل فهرست شده در اینجا استفاده کنید، یک اشکال را گزارش کنید .

مسائل کلی


نقشه های گوگل در کنترل های توسعه یافته شبیه ساز اندروید نشان داده نمی شوند

نسخه‌های شبیه‌ساز اندروید قبل از نسخه 34.2.13 دیگر از اواسط ماه مه، نقشه Google کاربردی در کنترل‌های توسعه‌یافته نخواهند داشت. شبیه‌سازهای قدیمی‌تر با نسخه‌ای از Chromium عرضه می‌شوند که با Google maps Javascript API سازگار نیست.

فضای دیسک کافی را بررسی کنید

برای جلوگیری از خرابی و هنگ به دلیل کمبود فضای دیسک آزاد، شبیه ساز فضای خالی کافی را در هنگام راه اندازی بررسی می کند و شروع نمی شود مگر اینکه حداقل 5 گیگابایت آزاد باشد. اگر شبیه ساز شروع به کار نکرد، بررسی کنید که آیا فضای دیسک آزاد کافی دارید یا خیر.

نرم افزار آنتی ویروس

از آنجایی که بسیاری از بسته های نرم افزار امنیتی و آنتی ویروس با نظارت بر هر عملیات خواندن و نوشتن کار می کنند، استفاده از چنین نرم افزارهایی می تواند عملکرد ابزارهایی مانند شبیه ساز اندروید را کاهش دهد.

بسیاری از بسته‌های آنتی‌ویروس توانایی افزودن برنامه‌های خاص را به لیستی از برنامه‌های قابل اعتماد ارائه می‌دهند، که به برنامه‌های فهرست شده امکان می‌دهد بدون کاهش عملکرد کار کنند. اگر با ذخیره یا بارگیری عکس‌های فوری AVD عملکرد ضعیفی دارید، می‌توانید این عملکرد را با افزودن برنامه شبیه‌ساز Android به‌عنوان یک برنامه قابل اعتماد در نرم‌افزار آنتی‌ویروس خود بهبود بخشید.

تاثیر عملکرد بین بسته های نرم افزار آنتی ویروس متفاوت است. اگر نرم‌افزار آنتی‌ویروس اضافی دیگری نصب کرده‌اید، می‌توانید آزمایش‌های ساده‌ای را برای تعیین اینکه کدام نرم‌افزار آنتی‌ویروس تأثیر بیشتری بر بارگذاری شبیه‌ساز دارد و عملیات ذخیره‌سازی را دارد، اجرا کنید.

برخی از نرم افزارهای آنتی ویروس ممکن است با شبیه ساز اندروید ناسازگار باشند.

اگر از نرم‌افزار Avast استفاده می‌کنید و در اجرای شبیه‌ساز Android مشکل دارید، استفاده از مجازی‌سازی تودرتو را در صورت وجود غیرفعال کنید و مجازی‌سازی به کمک سخت‌افزار را در تنظیمات عیب‌یابی Avast فعال کنید. علاوه بر این، پس از غیرفعال شدن مجازی‌سازی سخت‌افزار Avast، با نصب مجدد کامل جدیدترین HAXM از SDK Manager، مطمئن شوید که HAXM دوباره به درستی راه‌اندازی شده است.

در ویندوز، گاهی اوقات AVD با HAXM مسدود می شود و با حذف کامل McAfee می توان مشکل را حل کرد.

ویندوز: رم رایگان و شارژ

وقتی شبیه ساز شروع به کار کرد، باید رم سیستم عامل مهمان اندروید را مقداردهی اولیه کند. در ویندوز، شبیه‌ساز درخواست می‌کند که ویندوز در زمان شروع، اندازه کامل حافظه مهمان را در نظر بگیرد، حتی اگر در طول عملیات واقعی، حافظه ممکن است در صورت درخواست صفحه‌بندی شود. شبیه ساز تمام مقدار حافظه مهمان را در زمان شروع درخواست می کند زیرا ویندوز در حصول اطمینان از اینکه RAM فیزیکی و فایل صفحه کافی برای نگهداری کل مجموعه کاری بالقوه موجود است، محافظه کارانه عمل می کند. این درخواست برای بدترین حالت آماده می شود، جایی که تمام حافظه مهمان به سرعت لمس می شود بدون اینکه هیچ فرصتی برای دور انداختن یا آزاد کردن حافظه وجود داشته باشد.

گاهی اوقات، زمانی که شبیه‌ساز از ویندوز می‌خواهد تا اندازه کامل حافظه مهمان را در نظر بگیرد، درخواست از حد مجاز فعلی که مجموع RAM فیزیکی موجود و فایل صفحه است، فراتر می‌رود. در این حالت، ویندوز نمی‌تواند تضمین کند که مجموعه کاری در بدترین حالت در RAM فیزیکی یا Pagefile قرار می‌گیرد و شبیه‌ساز شروع به کار نمی‌کند.

در موارد معمولی، مقدار فضای هارد درایو اختصاص داده شده برای pagefile به اضافه رم فیزیکی برای اکثر موارد استفاده از شبیه ساز بیش از اندازه کافی است. با این حال، اگر در راه‌اندازی شبیه‌ساز به دلیل تجاوز از حد commit با شکست مواجه شدید، توصیه می‌کنیم هزینه commit فعلی را بررسی کنید که در تب Performance در Task Manager ویندوز قابل مشاهده است. برای باز کردن Task Manager، Ctrl+Shift+Esc را فشار دهید.

برای کاهش احتمال تجاوز از حد تعهد به طرق مختلف:

  • رم فیزیکی رایگان قبل از راه اندازی شبیه ساز با بستن برنامه ها و فایل های استفاده نشده.
  • مدیریت حافظه شخص ثالث و ابزار فشرده سازی حافظه را غیرفعال کنید. این ابزارهای کمکی می توانند به طور ناکارآمدی باعث افزایش هزینه commit شوند و سیستم شما را به محدودیت commit نزدیکتر کنند.
  • از یک اندازه مدیریت شده سیستم برای فایل صفحه ویندوز استفاده کنید، که می تواند به صورت انعطاف پذیرتر و پویاتر اندازه فایل صفحه و در نتیجه محدودیت تعهد را در پاسخ به افزایش تقاضای شبیه ساز و سایر برنامه ها افزایش دهد.

    برای اطلاعات بیشتر در مورد هزینه های تعهد و اینکه چرا یک تنظیم انعطاف پذیر بهترین کار را می کند، این مقاله مایکروسافت را بخوانید.

چند لمسی در پنجره ابزار کار نمی کند

حرکات چند لمسی، از جمله حرکت با دو انگشت، وقتی شبیه‌ساز در پنجره ابزار اجرا می‌شود، کار نمی‌کند. برای فعال کردن چند لمسی، شبیه ساز را در یک پنجره جداگانه راه اندازی کنید .

شبیه ساز خروجی صدای بلوتوث را کاهش می دهد

اگر از هدست بلوتوث استفاده می کنید، ممکن است متوجه شوید که خروجی صدای هدفون بلوتوث با اجرای شبیه ساز ضعیف می شود ( مسئله 183139207 ). این به این دلیل اتفاق می‌افتد که وقتی شبیه‌ساز راه‌اندازی می‌شود، میکروفون هدست را روشن می‌کند که باعث می‌شود هدست حالت دورو را با کیفیت پایین‌تری تغییر دهد.

برای جلوگیری از این مشکل، با افزودن hw.audioInput=no به فایل config.ini دستگاه مجازی اندروید (AVD) میکروفون را در شبیه ساز غیرفعال کنید. برای پیدا کردن فایل config.ini یک AVD، به AVD در Device Manager بروید، روی منوی سرریز آن کلیک کنید و Show on Disk را انتخاب کنید.

دستگاه‌های مجازی Android در ChromeOS راه‌اندازی نمی‌شوند

در ChromeOS، دستگاه‌های مجازی Android (AVD) ممکن است راه‌اندازی نشوند زیرا وابستگی libnss3 وجود ندارد. برای راه اندازی موفقیت آمیز AVD ها، sudo apt install libnss3 برای نصب دستی کتابخانه libnss3 اجرا کنید.

هشدارهای سنسور شیب مچ در Wear OS

در Wear OS، شبیه ساز ممکن است بارها و بارها پیام زیر را در مورد سنسور شیب مچ وارد کند: the host has not provided value yet for sensorHandle=16

توسعه دهندگان می توانند با خیال راحت این هشدارها را نادیده بگیرند.

پنجره شبیه ساز تعبیه شده خیلی کوچک است

در ماشین‌هایی با وضوح پایین‌تر، مانند 1024x768، خواندن صفحه شبیه‌ساز زمانی که در یک پنجره ابزار در Android Studio اجرا می‌شود، دشوار است. برای دادن فضای بیشتر به شبیه ساز، اگر پنجره ابزار Device Manager باز است، آن را ببندید. همچنین می توانید پنجره شبیه ساز را از اندروید استودیو بیرون بکشید. برای انجام این کار، در پنجره شبیه ساز، روی Settings > View Mode کلیک کنید و به جای Dock Pinned، Window را انتخاب کنید.

مسائل گرافیکی


شبیه ساز اندروید پس از به روز رسانی به کندی اجرا می شود

تعدادی از عوامل خارجی می توانند باعث شوند که شبیه ساز اندروید پس از به روز رسانی به کندی اجرا شود. برای شروع عیب یابی، ما مراحل زیر را توصیه می کنیم:

  • اگر پردازنده گرافیکی اینتل (و به ویژه Intel HD 4000) دارید، مطمئن شوید که آخرین درایور گرافیک اینتل را دانلود و نصب کرده اید.
  • اگر دستگاه شما دارای هر دو پردازنده گرافیکی اینتل و پردازنده گرافیکی مجزا است، برای اطمینان از اینکه از GPU گسسته استفاده می کنید، GPU اینتل را در Device Manager غیرفعال کنید.
  • شبیه ساز را با استفاده از حالت -gpu swiftshader اجرا کنید. برای اطلاعات بیشتر در مورد پیکربندی گزینه‌های شتاب گرافیکی در خط فرمان، به پیکربندی شتاب سخت‌افزار مراجعه کنید.
  • اگر اتصال IPv6 ندارید، مطمئن شوید که روتر شما از آدرس های IPv6 استفاده نمی کند.

اگر هنوز با کندی اجرای شبیه ساز اندروید مشکل دارید، یک اشکال را گزارش کنید و جزئیات لازم شبیه ساز اندروید را درج کنید تا بتوانیم آن را بررسی کنیم.

خطا: vulkan-1.dll یافت نشد

اگر شبیه ساز به دلیل خطای vulkan-1.dll cannot be found راه اندازی نشد، احتمالاً باید شبیه ساز را به روز کنید. برای به روز رسانی شبیه ساز در Android Studio، به Tools > SDK Manager رفته و آخرین نسخه پایدار پلتفرم اندروید را نصب کنید.

از طرف دیگر، اگر به هیچ برنامه‌ای که از کتابخانه گرافیکی Vulkan استفاده می‌کند نیاز ندارید، Vulkan را با راه‌اندازی شبیه‌ساز از خط فرمان با flag -feature -Vulkan خاموش کنید.

امکان ایجاد یک عکس فوری وجود ندارد

ایجاد یک عکس فوری از شبیه ساز که شامل کتابخانه گرافیکی Vulkan است پشتیبانی نمی شود. برای اجرای شبیه ساز بدون Vulkan، شبیه ساز را از خط فرمان با flag -feature -Vulkan اجرا کنید. از طرف دیگر، اگر می‌خواهید از عکس‌های فوری به‌عنوان بخشی از گردش کار توسعه خود استفاده کنید، می‌توانید برنامه‌های دارای Vulkan مانند Chrome در API 30 یا بالاتر را حذف نصب کنید و از استفاده از آن‌ها اجتناب کنید.

نمی توان صفحه وب را به درستی باز کرد

با شروع API سطح 30، Chrome از کتابخانه گرافیکی Vulkan به عنوان باطن رندر خود استفاده می‌کند و ممکن است مشکلات سازگاری با ماشین‌های خاصی داشته باشد. اگر Chrome به درستی برای شما رندر نمی شود، سعی کنید شبیه ساز را از خط فرمان با flag -feature -Vulkan راه اندازی کنید.

هشدار درایور GPU - بازگشت به نرم افزار

اگر هشداری در مورد عقب افتادن درایور GPU دریافت می کنید، ممکن است از یک GPU پشتیبانی نشده استفاده کنید. به طور پیش فرض از خودکار استفاده می کند که ممکن است رندر نرم افزار را انتخاب کند. اگر سخت‌افزار را انتخاب می‌کنید، باید بتوانید آن را مجبور به استفاده از رندر سخت‌افزاری کنید (ممکن است همچنان یک پیام هشدار ظاهر شود).

برای تصاویر غیر پلی استور، می توانید این کار را در مدیریت دستگاه -> 3 نقطه -> ویرایش انجام دهید. برای تصاویر پلی استور، باید آن 2 فایل پیکربندی را به صورت دستی ویرایش کنید:

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

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

و hw.gpu.mode به host تغییر دهید

توجه داشته باشید که انجام این کار ممکن است پایداری شبیه ساز را کاهش دهد. برای جزئیات بیشتر به اشکال مراجعه کنید.

شبیه ساز روی دسکتاپ راه دور Windows Chrome بوت نمی شود

اگر شبیه‌ساز هنگام استفاده از کنترل دسک‌تاپ از راه دور Chrome در ویندوز بوت نمی‌شود، راه‌حل پیشنهادی کنونی استفاده از پرچم gpu مانند میزبان -gpu یا -gpu swiftshader است.

شبیه ساز در macOS در حالت رندر سخت افزاری رفتار نادرست دارد

در دستگاه‌های مک با Apple Silicon، شبیه‌ساز از کتابخانه MoltenVK برای Vulkan API زمانی که حالت رندر سخت‌افزار انتخاب می‌شود، استفاده می‌کند. در حالی که MoltenVK به طور کلی عملکرد بسیار بهتری ارائه می دهد، کتابخانه از همه ویژگی های Vulkan پشتیبانی نمی کند. در صورت مشکلات سازگاری، مانند خرابی در کامپایل سایه‌زن، اشکالات گرافیکی یا خرابی در برنامه‌هایتان، حالت رندر را از طریق تنظیمات AVD به نرم‌افزار تغییر دهید یا از آرگومان خط فرمان -gpu swiftshader استفاده کنید.

از طرف دیگر، برای ادامه استفاده از شتاب سخت‌افزاری در برنامه‌های GLES، می‌توانید پشتیبانی Vulkan را با آرگومان -feature -Vulkan غیرفعال کنید.

مشکلات شبکه


اینترنت وجود ندارد: آدرس DNS سرور پیدا نمی شود

اگر شبیه ساز نمی تواند به اینترنت متصل شود، سعی کنید شبیه ساز را از خط فرمان با استفاده از گزینه -dns-server “2001:4860:4860::8844,2001:4860:4860::8888,8.8.8.8,8.8.4.4” راه اندازی کنید. -dns-server “2001:4860:4860::8844,2001:4860:4860::8888,8.8.8.8,8.8.4.4” . این دستور فهرستی از آدرس‌های IP عمومی DNS Google ارائه می‌کند. برای اطلاعات بیشتر درباره Google Public DNS، به Google Public DNS برای دستگاه‌های خود مراجعه کنید.

بدون اینترنت: مشکلات حل DNS

گاهی اوقات آدرس های DNS در فایل /etc/resolv.conf به درستی کار نمی کنند. شما می توانید با راه اندازی شبیه ساز از خط فرمان با استفاده از گزینه -dns-server 8.8.8.8 یا -dns.server 2001:4860:4860::8888 برای اتصال از طریق یک شبکه فقط IPv6، این مشکل را حل کنید.

مشکلات قدیمی (در شبیه سازهای منسوخ یا سیستم های قدیمی)


راه اندازی AVD ممکن نیست

در صورت وجود گزارش خرابی برای شبیه‌ساز جدیدتر، ممکن است AVD راه‌اندازی نشود ( مساله شماره 281725854 ). این مشکل فقط برای کاربرانی رخ می‌دهد که از نسخه 33.x قناری به 32.1.13 به‌روزرسانی می‌شوند، آخرین باری که نسخه 33.x را اجرا کرده‌اند دچار خرابی شده‌اند و از آن زمان AVD خود را راه‌اندازی مجدد نکرده‌اند، بنابراین %TEMP% یا /tmp دایرکتوری هنوز روشن است اگر با این مشکل مواجه هستید، دایرکتوری %TEMP% ( /tmp در لینوکس یا macOS) را پاک کنید.

Windows: اگر Unicode در نام AVD وجود داشته باشد، شبیه ساز راه اندازی نمی شود

در ویندوز، وقتی Device Manager یک دستگاه مجازی Android (AVD) ایجاد می کند، به طور پیش فرض AVD را در C:\Users\<name>\.android\avd ایجاد می کند. با این حال، اگر نام AVD ( <name> ) دارای Unicode باشد، شبیه ساز نمی تواند AVD را به درستی با استفاده از این مکان پیش فرض راه اندازی کند.

این مشکل در Emulator 31.3.6 و بالاتر برطرف شده است. برای حل این مشکل، شبیه ساز را با انتخاب Tools > SDK Manager به روز کنید.

روش دیگر، برای حل این مشکل، قبل از ایجاد یک AVD، متغیر محیطی ANDROID_SDK_HOME روی یک فهرست سفارشی تنظیم کنید. به عنوان مثال، دایرکتوری C:\Android\home را ایجاد کنید و سپس ANDROID_SDK_HOME روی این فهرست جدید ایجاد کنید. برای کسب اطلاعات بیشتر، به متغیرهای محیطی مراجعه کنید.

هایپروایزرها نمی توانند برخی از ویژگی های CPU مورد نیاز سیستم های اندروید x86 را شبیه سازی کنند

هایپروایزرها عموماً نمی‌توانند برخی از ویژگی‌های CPU را شبیه‌سازی کنند، مانند پخش برنامه‌های افزودنی SIMD (SSE) ، مورد نیاز سیستم‌های Android x86.