شبیهساز اندروید (Android Emulator) همراه با اندروید استودیو (Android Studio) ارائه میشود.
نسخههای قبل از 25.3.0 این شبیهساز به عنوان بخشی از ابزارهای SDK اندروید توزیع میشدند.
برای اطمینان از اینکه آخرین نسخه را دارید، SDK Manager را برای بهروزرسانیها بررسی کنید.
برای دانلود نسخههای قبلی شبیهساز اندروید، به آرشیو دانلود شبیهساز مراجعه کنید.
برای یادداشتهای انتشار نسخههای شبیهساز قبل از 25.3.0، به یادداشتهای انتشار ابزارهای SDK اندروید مراجعه کنید.
برای مشاهدهی مشکلات برطرف شده در جدیدترین نسخههای شبیهساز اندروید، به بخش مشکلات بسته شده مراجعه کنید.
برای مشکلات شناخته شده و عیبیابی، لطفاً به عیبیابی شبیهساز مراجعه کنید.
۳۶.۴.۳ قناری (۸ دسامبر ۲۰۲۵)
شبیهساز جدید عینک هوش مصنوعی
ما یک شبیهساز جدید و آزمایشی عینک هوش مصنوعی برای توسعه و آزمایش برنامههای ساخته شده با Jetpack XR SDK برای عینکهای هوش مصنوعی اضافه کردهایم. میتوانید یک شبیهساز عینک را به همراه یک شبیهساز تلفن اجرا کنید، آنها را جفت کنید و تعاملات معمولی را که روی عینک اجرا میکنید، انجام دهید. برای کسب اطلاعات در مورد نصب شبیهساز عینک هوش مصنوعی و تنظیم محیط توسعه خود، به بخش «ایجاد دستگاههای عینک هوش مصنوعی مجازی» مراجعه کنید.
شبیهساز عینک هوش مصنوعی یک ابزار آزمایشی است. انتظار مشکلاتی را داشته باشید، به خصوص در جفتسازی مجدد عینک با شبیهسازهای تلفن و تعاملات رابط کاربری تاچپد.
شبیهساز جدید عینک XR
ما شبیهساز اندروید XR که قبلاً منتشر شده بود را برای عینکهای XR با قابلیت OST (Optical See Through) توسعه دادیم. میتوانید از شبیهساز XR Glasses برای پیشنمایش برنامه خود با میدان دید تقریبی و وضوح دستگاه عینک XR استفاده کنید. برای کسب اطلاعات در مورد نصب شبیهساز XR Glasses و تنظیم محیط توسعه خود، به بخش «ایجاد دستگاههای مجازی عینک XR» مراجعه کنید.
شبیهساز عینک XR و شبیهساز عینک AI ابزارهای آزمایشی هستند. انتظار مشکلاتی را داشته باشید، به خصوص در برخی از پیکربندیهای پردازنده گرافیکی و درایور ویندوز (به الزامات سیستم ویندوز مراجعه کنید).
مشکلات شناخته شده
بازخورد شما به ما کمک میکند تا اولویتبندی ویژگیهای آینده را بهبود بخشیده و هدایت کنیم. برای اطلاعات بیشتر در مورد گزارش اشکالات مربوط به اندروید استودیو یا شبیهساز اندروید، به بخش «گزارش اشکال» مراجعه کنید.
۳۶.۳.۱۰ پایدار (۴ دسامبر ۲۰۲۵)
[رفع اشکال] مشکل شماره ۴۵۲۸۴۳۳۲1 کاهش عملکرد هنگام ارسال فایلهای بزرگ به شبیهساز در اندروید API ۳۴ و بالاتر.
رفع مشکل کرش شدن ترکیب Vulkan هنگام اجرای کدکهای ویدیویی در حالت بافت پردازنده گرافیکی.
رفع مشکل از کار افتادن شبیهساز در رویداد صفحه لمسی هنگام اجرا با -debug-events.
وصله ۳۶.۲.۱۲ (۱۳ اکتبر ۲۰۲۵)
- رفع مشکل کرش کردن ویندوز که هنگام اجرای یک برنامه vulkan در حالت رندر نرمافزار رخ میداد
نسخه پایدار ۳۶.۲.۱۱ (۹ اکتبر ۲۰۲۵)
پشتیبانی از HAXM از شبیهساز حذف شده است. اگر سعی کنید با HAXM یک AVD ایجاد کنید، بنری مبنی بر عدم وجود هایپروایزر و یک لینک برای نصب AEHD مشاهده خواهید کرد.
برای اطلاعات بیشتر در مورد حذف نصب HAXM، به بخش حذف نصب HAXM مراجعه کنید.رفع مشکل برای اطمینان از اینکه پردازنده گرافیکی اینتل از OpenGL ES 3.0 استفاده میکند تا از خرابی درایور جلوگیری شود
[رفع اشکال] شماره ۳۴۰۳۲۲۸۸۸: وقتی فضای خالی روی دستگاه وجود ندارد، نمیتوان AVD را اجرا کرد
[رفع اشکال] مشکل شماره ۱۵۰۷۵۸۷۳۶ از دست رفتن متناوب دادههای تک بایتی در اتصالات TCP در شبیهساز
[رفع اشکال] مشکل شماره ۴۳۴۷۷۴۳۸۱: کرنل مهمان پس از بوت سریع برای API ۳۶ و ۳۵ (شاید بیشتر) در ویندوز ۱۱ با استفاده از WHPX روی i7-11850H از کار افتاد.
۳۶.۱.۹ پایدار (۳۱ ژوئیه ۲۰۲۵)
[رفع اشکال] مشکل شماره ۴۱۹۱۵۷۴۲۸: کاراکترهای UTF-۸ در نام کاربری یا در مسیر AVD میتوانند مانع از شروع شبیهساز شوند.
[رفع اشکال] مشکل شماره ۴۲۳۶۷۰۸۳۳: شبیهساز اندروید روی سیستم فایل btrfs از کار میافتد
توجه: اگر در اجرای شبیهساز در X11 با مشکل مواجه هستید، استفاده از رندر نرمافزاری را در نظر بگیرید. برای نحوه پیکربندی رندر نرمافزاری، به پیکربندی شتاب گرافیکی مراجعه کنید.
۳۵.۶.۱۱ پایدار (۲۴ ژوئن ۲۰۲۵)
پشتیبانی از پردازندههای گرافیکی AMD و Nvidia در ویندوز و لینوکس برای شبیهسازی XR بهبود یافته است.
XR AVD میتواند به صورت تعبیهشده در پنجرههای در حال اجرای اندروید استودیو اجرا شود.
بهبود جزئیات گزارش خرابی در ویندوز برای فعال کردن نسخه پشتیبان کامل شبیهساز
[رفع اشکال] مشکل شماره ۴۱۰۴۸۵۰۴۳۳: دستگاه اندروید امولاتور XR با خطای Vulkan از کار میافتد
[رفع اشکال] مشکل شماره ۳۸۸۷۱۸۴۱۷: libndk_translation.so متوقف میشود و باعث خرابی در Arm64AesEncode میشود.
۳۵.۵.۱۰ پایدار (۶ مه ۲۰۲۵)
بررسیهای سازگاری CPU اضافی با پیامهای خطا اضافه شد (مثلاً: فضای دیسک ناکافی)
اشکالات مربوط به مدیریت حافظه Vulkan و موارد استفاده نامعتبر برطرف شد
پشتیبانی از اسنپشات Vulkan بررسی شده و هنگام اجرای روی ترمینال به درستی رد میشود.
پشتیبانی از افزونه VK_KHR_multiview و فرمت بافت A1R5G5B5 اضافه شد
پیکسل ۹a AVD اضافه شد
نسخه پایدار ۳۵.۴.۹ (۲۵ فوریه ۲۰۲۵)
یک منوی کشویی در کنترلهای پیشرفته برای تنظیمات راننده مهمان GLES اضافه شد
[رفع اشکال] مشکل شماره ۳۸۹۳۳۰۷۵۰ ارسال پیامک به شبیهساز با کاراکتر Ñ پیام را تقسیم میکند
[رفع اشکال] مشکل شماره ۳۸۲۱۸۰۴۸۸: تابع "emuglConfig_get_vulkan_hardware_gpu_support_info" به دلیل عدم شناسایی دستگاههای Vulkan از کار میافتد.
توجه: شبیهساز اندروید XR فقط در نسخههای Canary استودیو در دسترس است.
۳۵.۳.۱۱ پایدار (۹ ژانویه ۲۰۲۵)
[رفع اشکال] مشکل شماره ۳۶۸۰۵۹۲۱۱: دسترسی برنامهنویسیشدهی سیستم عامل اندروید اتو به VHAL با استفاده از Car Service API کار نمیکند.
[رفع اشکال] مشکل شماره ۳۴۸۵۹۸۵۱۳: شبیهساز در یک قفل چندرشتهای، متد عمومی thread-unsafe غیرضروری دارد.
[رفع اشکال] شماره ۳۵۶۸۹۶۴۸۶ غیرفعال کردن واقعی فراخوانیهای API ولکان هنگام اجرا با -feature -Vulkan
۳۵.۴.۴ قناری (۱۲ دسامبر ۲۰۲۴)
شبیهساز جدید اندروید XR
ما یک شبیهساز جدید و آزمایشی Android XR برای توسعه و آزمایش برنامههای ساخته شده با Jetpack XR SDK برای هدستها اضافه کردهایم. برای اطلاعات بیشتر در مورد نصب شبیهساز Android XR و تنظیم محیط توسعه خود، به بخش تنظیمات Jetpack XR SDK مراجعه کنید.
شبیهساز اندروید XR یک ابزار آزمایشی است. با این وجود، تصمیم گرفتیم که آن را زودتر با شما به اشتراک بگذاریم تا بتوانید از همان ابتدا آن را آزمایش کنید. انتظار مشکلاتی را داشته باشید، به ویژه در برخی از پیکربندیهای پردازنده گرافیکی و درایور ویندوز. همچنین ممکن است مشکلاتی در مورد آزمایش سازگاری برنامههای موبایل دوبعدی موجود ایجاد شود. بازخورد شما به ما کمک میکند تا اولویتبندی ویژگیهای آینده را بهبود بخشیده و هدایت کنیم.
تاکنون، شبیهساز اندروید XR روی پیکربندیهای سختافزاری زیر آزمایش شده است:
- مک (ARM)
- ویندوز ۱۱
- پردازنده گرافیکی nVidia، ۴ گیگابایت حافظه vRAM، نسخه درایور ۵۵۳.۳۵ یا بالاتر
- ۱۶ گیگابایت رم یا بیشتر
- ۸ هسته یا بیشتر
مشکلات شناخته شده
شبیهساز - پایداری و عملکرد:
- قفل شدن یا از کار افتادن سیستم در مواقع بحرانی هنگام بوت شدن یا هنگام اجرای برنامهها میتواند در برخی از پیکربندیهای ویندوز رخ دهد. لطفاً با دنبال کردن راهنمای توسعهدهندگان اندروید استودیو برای فعال کردن WHPX ، مطمئن شوید که پلتفرم هایپروایزر ویندوز (WHPX) فعال است.
- مشکلاتی مانند عدم پاسخگویی عناصر رابط کاربری یا AVD در لپتاپها پس از یک چرخه تعلیق-ازسرگیری (مانند بستن و باز کردن لپتاپ).
- خرابیهای گاهبهگاه هنگام تغییر برنامهها از «حالت صفحه اصلی» به «حالت تمام صفحه»
- APIهای Gemini هنوز در دسترس نیستند؛ برنامهی الگوی آغازین Gemini API از کار خواهد افتاد.
شبیهساز - شبیهسازی ورودی و خروجی:
- صفحهکلید مجازی برای فیلدهای جستجو و ویرایش ممکن است فقط تا حدی در میدان دید قابل مشاهده باشد.
عناصر را نمیتوان با استفاده از ماوس و صفحه کلید در جهت z (داخل و خارج از صفحه نمایش) حرکت داد.
ناپایداری ورودی صدای میزبان میکروفون AVD ممکن است منجر به راهاندازی مجدد و از کار افتادن AVD شود.
صدا گاهی اوقات دچار لرزش یا اعوجاج میشود.
وقتی دوربین از اتاق نشیمن مجازی خارج میشود، خطاهای رندرینگ قابل مشاهده هستند.
تنظیمات ویندوز رنگها را تیرهتر از حالت معمول نمایش میدهد.
بعد از غیرفعال کردن شبیهساز و قفل کردن صفحه در macOS، صدا دیگر کار نمیکند. (با راهاندازی مجدد شبیهساز، صدا دوباره به حالت اولیه برمیگردد.)
اتصال شبکه زمانی قطع میشود که دستگاه میزبان، وایفای را تغییر دهد.
با فعال بودن Caps Lock، حروف کوچک همچنان تایپ میشوند.
پیمایش با استفاده از ترکپد در مک روان نیست.
اسکرول کردن با کلیک و کشیدن روی بعضی از عناصر رابط کاربری ممکن است به دلیل طراحی کار نکند. در غیر این صورت، از چرخ ماوس برای اسکرول کردن استفاده کنید.
متن تار، رابط کاربری و سایر اشکالات در کروم در برخی از پیکربندیهای سیستم ویندوز. راه حل احتمالی: فعال کردن WHP .
شبیهساز - شبیهسازی صفحات و لنگرها:
- لنگرها گاهی اوقات در نزدیکی همان مکان دوباره ظاهر نمیشوند
- شیشههای متحرک نباید به دیوارها یا سقف متصل شوند
- صفحات شبیهسازیشده با طرح فیزیکی اتاق سهبعدی در حالت عبور از میان اشیاء مطابقت ندارند.
- به طور کلی، مناطق محدودی برای لنگر انداختن اشیاء در اتاق مجازی وجود دارد.
- مصنوع کوچک قابل مشاهده در نمای عبوری در ویندوز
- در برخی موارد، قرار دادن لنگرها میتواند برنامه را از کار بیندازد.
- هنگام حرکت دادن برنامهها به زمین در ویندوز، ممکن است خطوط سیاه در بالای برنامهها ظاهر شوند.
شبیهساز - سایر:
- شبیهساز فقط در حالت «مستقل» اجرا میشود. حالت «توکار» (رابط کاربری توکار) هنوز پشتیبانی نمیشود.
- ورود به سیستم با حسابهای کاربری در شبیهساز ویندوز ممکن است باعث شود شبیهساز از کار بیفتد.
- ممکن است محتوای رابط کاربری پنجرهها پس از تغییر اندازه ناپدید شود (راه حل: فشار دادن دکمه «خانه»)
- در برنامه JXRCore ActivityPanelTest، پنل ثانویه در ابتدا نمایش داده نمیشود.
- موارد تنظیمات سریع ممکن است پس از مدت طولانی از تنظیمات سیستم ناپدید شوند.
- ممکن است رابط کاربری شبیهساز در ابتدا خارج از ناحیه صفحه نمایش ظاهر شود. در این صورت، اندازه پنجره شبیهساز را کمی تنظیم کنید تا دوباره در جای خود قرار گیرد.
- ممکن است شبیهساز هنگام استفاده از Chrome Remote Desktop در ویندوز راهاندازی نشود.
- OpenXR تاکنون در شبیهساز پشتیبانی نمیشود و برنامههای OpenXR ممکن است شبیهساز را از کار بیندازند.
- خطاهای نادر هنگام ارسال گزارش اشکال با استفاده از تنظیمات پیشرفته اندروید استودیو در ویندوز
- آیکون «بازگشت به عقب» در برنامه تنظیمات مک تا زمانی که مکاننما نزدیک آن قرار نگیرد، به درستی قابل مشاهده نیست.
- در برخی موارد، ممکن است هنگام استفاده از ماژول «نمایه پایه» به عنوان بخشی از یک پروژه الگوی XR، ساختوساز دچار خطا شود.
- قابلیت دسترسی «XR Talkback» تاکنون فقط تا حدی در شبیهساز ادغام شده است.
برنامه مشاهده صحنه:
- جابجایی عناصر در Scene Viewer ممکن است باعث از کار افتادن آن شود. برای حل این مشکل، قبل از تلاش برای جابجایی عنصر، موقعیت سر را کمی از موقعیت اولیه خود دور کنید (مثلاً با استفاده از حرکت افقی، حرکت عمودی، حرکت دایرهای و غیره).
- اگر اندازه واقعی مدل سهبعدی کمتر یا بیشتر از محدودیتهای حداقل و حداکثر مقیاس (که در حال حاضر به ترتیب روی ۲۰ سانتیمتر و ۷۰ متر تنظیم شدهاند) باشد، ویژگی اندازه واقعی ۱:۱ به درستی کار نخواهد کرد.
- مدل سهبعدی میتواند پس از بارگذاری، روی اولین فریم پرش کند.
۳۵.۲.۱۰ (۱ اکتبر ۲۰۲۴)
- دستگاههای جدید Pixel AVD از جمله Pixel 9، Pixel 9 Pro، Pixel 9 Pro XL و Pixel 9 Pro Fold اضافه شدند.
- تصویر سیستم قرص جدید برای بستنی وانیلی (API 35) اضافه شد
۳۵.۱.۲۰ (۲۹ اوت ۲۰۲۴)
- پیکسل ۸a AVD اضافه شد
- رفع اشکالات مختلف برای دستگاههای تاشو
- بهروزرسانی Qt و رفع مشکلات مربوط به خرابیها و هنگ کردنهای مربوط به Qt
- [رفع اشکال] رفع مشکل کرش کردن و هنگ کردن برنامهها در ویندوز با استفاده از Vulkan
۳۴.۲.۱۶ (۹ ژوئیه ۲۰۲۴)
- [رفع اشکال] رابط کاربری که در Pixel Fold هنگام تا کردن/باز کردن قفل میشود
- [رفع اشکال] نمایش نادرست نسخه اندروید به صورت پیشنمایش بستنی وانیلی اندروید به جای API 35 در مک M1.
- [رفع اشکال] مشکل شماره ۲۹۶۱۶۲۶۶۱ : HasSystemFeature FEATURE_SENSOR_HINGE_ANGLE در شبیهساز تبلت Pixel C مقدار true را برمیگرداند
۳۴.۲.۱۵ (۳۱ مه ۲۰۲۴)
- رفع مشکلات مختلف مربوط به حالت swangle و پاکسازی تبلیغکننده
۳۴.۲.۱۴ (۲۰ مه ۲۰۲۴)
با اندروید استودیو Jellyfish Stable Patch 1 تست شده است.
- [رفع اشکال] اسنپشات گاهی اوقات روی شبیهساز تعبیهشده هنگ میکند
- [رفع اشکال] دکمههای «خیر» و «لغو» در اسنپشات به درستی کار نمیکنند
- [رفع اشکال] دکمههای جهتدار کار نمیکنند
- [رفع اشکال] مشکلی که در ویندوز مشاهده میشد و مانع از شروع شبیهساز در برخی شرایط هنگام استفاده از حالتهای GPU با ANGLE میشد و پیام خطای "Failed to initialize GL emulation" را در گزارش برمیگرداند، برطرف شد. توجه داشته باشید که شروع شبیهساز از طریق خط فرمان با گزینه
-gpu swangle_indirectممکن است همچنان با این نسخه این خطا را ایجاد کند. اگر هنوز میخواهید شبیهساز را با استفاده از خط فرمان در ویندوز با رندر گرافیکی نرمافزاری با این نسخه شروع کنید، لطفاً-gpu swiftshader_indirectاستفاده کنید. - [رفع اشکال] میانبر موقعیت مکانی روی صفحه کلید، نقشهای غیرقابل استفاده را بارگذاری میکند
- [رفع اشکال] هنگام تنظیم مکان، کادر محاورهای «ذخیره مسیر» نمایش داده نمیشود
۳۴.۲.۱۳ (۳۰ آوریل ۲۰۲۴)
با اندروید استودیو Jellyfish Stable تست شده است.
- بهروزرسانی به کیوت ۶.۵.۳
- سازگاری با بهروزرسانیهای API نقشههای گوگل که در ویژگیهای موقعیت مکانی در کنترلهای توسعهیافتهی شبیهساز استفاده میشوند، که در پایان ماه مه منتشر میشوند.
- رفع مشکلات ناشی از تصادف با ضربه بالا
- رفع مشکلات مختلف Pixel AVDs
- کتابخانه گرافیکی مورد استفاده برای رندر نرمافزار را بهروزرسانی کنید
- [رفع اشکال] مشکل ۲۲۵۵۴۱۸۱۹ هنگام شروع کروم، شبیهساز روی x86_64 از کار میافتد
- [رفع اشکال] مشکل ۳۱۴۶۱۴۴۳۵ - سوئیچ
-http-proxyبه اشتباه تجزیه میشود
۳۴.۱.۲۰ (۱ آوریل ۲۰۲۴)
با اندروید استودیو Iguana Stable تست شده است.
- [رفع اشکال] مشکل شماره ۳۱۴۶۱۴۴۳۵ : رفع مشکل تجزیه نادرست سوئیچ
-http-proxy
۳۴.۱.۱۹ (۷ مارس ۲۰۲۴)
با اندروید استودیو Iguana Stable تست شده است.
- [رفع اشکال] مشکل شماره ۳۱۲۶۷۲۵۹ : مشکل هنگ کردن صفحه در شبیهساز تعبیهشده پس از تغییر اندازه پنجره برطرف شد.
۳۴.۱.۱۸ (۲۹ فوریه ۲۰۲۴)
با اندروید استودیو Iguana Stable تست شده است.
- دستگاههایی به Emulator اضافه شدند که شامل موارد زیر بودند:
- پیکسل فولد
- تبلت پیکسل
- پیکسل ۸
- پیکسل ۸ پرو
- پیکسل ۷a
- تست یکپارچهسازی gRPC: نقاط پایانی gRPC اکنون برای تستهای ابزاری که درون شبیهساز اجرا میشوند، در دسترس هستند که امکان آزمایش سناریوهای واقعبینانه را فراهم میکنند. این ویژگی به توسعهدهندگان این امکان را میدهد تا با خیال راحت با نقطه پایانی gRPC که توسط شبیهساز اندروید میزبانی میشود، از درون تستهای ابزاری اندروید تعامل داشته باشند.
- رفع اشکالات مختلف
۳۳.۱.۲۴ (۲۸ دسامبر ۲۰۲۳)
با اندروید استودیو Hedgehog Stable و Iguana Beta 1 تست شده است.
- مشکل وبکم شبیهساز که اجازه ضبط صفحه نمایش با فرمت mp4 را نمیدهد، برطرف شد.
- رفع مشکل از کار افتادن شبیهساز در Pixel Fold AVD هنگام باز شدن آن در حین ضبط صفحه نمایش.
- رفع مشکلی که باعث میشد Pixel Fold با کیبورد جدا، پوستهی گوشی متفاوتی را نشان دهد و غیرقابل استفاده باشد (در ویندوز، مک و لینوکس برطرف شد)
- رفع مشکل ظاهر شدن حسگرهای مجازی در حالت مستقل (رفع مشکل در ویندوز، مک اینتل و لینوکس)
- رفع برخی از کرشها، به خصوص هنگام بستن شبیهساز، برطرف شد.
۳۳.۱.۲۳ (۳۰ نوامبر ۲۰۲۳)
با اندروید استودیو Giraffe Patch 4 و Hedgehog Stable تست شده است.
- پیادهسازی جدید تاشو برای شبیهسازی بهتر دستگاه Pixel Fold، با آخرین API 34 کار میکند.
- ارتقاء بخش گرافیکی: ما پروتکل gfxstream را برای بخش گرافیکی خود پیادهسازی کردهایم. این بهبود، عملکرد کلی گرافیک و پایداری سیستم شما را افزایش میدهد. علاوه بر این، پشتیبانی از Vulkan 1.3 با شروع از ایمیج سیستم با API 34 ارائه میشود.
- درخواست ویژگی : گزینهای برای غیرفعال کردن ژست زوم با دو انگشت یا اختصاص مجدد کلید میانبر آن
- [رفع اشکال] شماره 302562962 رفع مشکل از کار افتادن وبکم شبیهساز هنگام استفاده از MacOS sonoma
- [رفع اشکال] شماره ۲۹۳۵۰۳۸۷۱ رفع مشکل عدم ذخیره تنظیمات «میکروفون» هنگام راهاندازی مجدد شبیهساز
- [رفع اشکال] شماره ۲۷۰۳۸۶۳۱۴ رفع خطای انیمیشن که در آن نوار کناری پس از کوچک شدن صفحه AVD باز میماند
- [رفع اشکال] مشکل شماره ۱۵۴۸۹۶۷۷۵ رفع اشکال ابزار ارسال اشکال
۳۲.۱.۱۵ (۲۹ اوت ۲۰۲۳)
با اندروید استودیو Giraffe Patch 1 و Hedgehog Canary 16 تست شده است.
- مطابق با الزامات GAS HW برای حسگرها در شبیهساز AAE
- [رفع اشکال] مشکل شماره ۲۶۶۲۰۱۲۰۸ پیامک عبری در API ۳۳ ارسال نمیشود
- [رفع اشکال] مشکل شماره ۲۵۷۰۹۷۴۰۴: شبیهساز پس از بیدار شدن میزبان در API 29 و 30، زمان صحیح را نشان نمیدهد.
- [رفع اشکال] مشکل شماره ۲۲۸۲۰۱۸۹۹: نمیتوانم نقشههای گوگل را در کنترلهای توسعهیافته شبیهساز اندروید ببینم
۳۲.۱.۱۴ (۲۷ ژوئن ۲۰۲۳)
با اندروید استودیو Hedgehog Canary 8، Giraffe Beta 5 و Flamingo Stable تست شده است.
- جهتگیریها و اعوجاجهای دوربین شبیهساز را اصلاح کنید.
- [رفع اشکال] مشکل شماره ۲۵۷۰۹۷۴۰۴ "شبیهساز پس از بیدار شدن میزبان، زمان صحیح را نشان نمیدهد". این اشکال هنوز برای API 29 و API 30 قابل تکرار است.
- [رفع اشکال] مشکل شماره ۲۴۳۴۵۶۵۸۲ "نسخههای اندروید پس از API 30 ممکن است در شبیهساز روی دستگاههای Mac M1 به درستی اجرا نشوند"
۳۲.۱.۱۳ (۲۲ مه ۲۰۲۳)
با اندروید استودیو Hedgehog Canary 2، Giraffe Beta 1 و Flamingo Stable تست شده است.
- پشتیبانی از Pixel Fold و Pixel Tablet AVDs اضافه شد.
- مشکل از کار افتادن gLinux بهبود یافت.
- [رفع اشکال] مشکل شماره ۲۱۵۲۳۱۶۳۶ "شبیهساز با API بالاتر از API ۳۰ در پردازنده نسل دوازدهم اینتل کار نمیکند".
- [رفع اشکال] شماره #275397905 مشکل خرابی سطح بالای شبیهساز اندروید M1 هنگام حرکت مکرر نشانگر ماوس به داخل و خارج شبیهساز.
- مشکل شناختهشدهای در اجرای AVD هنگام وجود گزارش خرابی شبیهساز جدیدتر. برای اطلاعات بیشتر به عیبیابی شبیهساز مراجعه کنید.
۳۲.۱.۱۲ (۲۱ مارس ۲۰۲۳)
با اندروید استودیو، Giraffe Canary 10، Flamingo RC و Electric Eel Patch 2 تست شده است.
- [رفع اشکال] مشکل شماره ۲۶۷۶۴۷۳۲۳: شبکه روی شبیهسازِ اجرا شده از اندروید استودیو کار نمیکند
- [رفع اشکال] مشکل شماره ۲۶۸۴۹۸۶۸۶: صفحه شبیهساز سوسو میزند
- [رفع اشکال] مشکل شماره ۲۷۰۰۳۴۸۲۴ عملکرد شبیهساز پس از بهروزرسانی به نسخه ۳۳.۱.۱ کاهش یافت.
- [رفع اشکال] شماره ۲۲۵۵۴۱۸۱۹ هنگام شروع کروم، شبیهساز روی x86_64 از کار میافتد
- [رفع اشکال] مشکل شماره ۲۵۷۰۹۷۴۰۴: شبیهساز پس از بیدار شدن میزبان، زمان صحیح را نشان نمیدهد.
- گزارش خرابی را برای دستگاههای Apple M1 اضافه کنید
۳۲.۱.۱۱ (۸ فوریه ۲۰۲۳)
با اندروید استودیو Giraffe Canary 2، Flamingo Beta 1 و Electric Eel Patch 1 تست شده است.
- بهینهسازی سرعت شبکه
- پشتیبانی از ماوس در شبیهساز تعبیهشده
- پیشرفتهای Virtio-snd
- غیرفعال کردن استفاده از پیوندهای نمادین هنگام خارج کردن شبیهساز اندروید از حالت فشرده در حین نصب
- رفع مشکل کرش در بررسی شبیهساز
۳۱.۳.۱۴ (۱۳ دسامبر ۲۰۲۲)
با اندروید استودیو دلفین، مارماهی برقی RC1 و فلامینگو قناری ۹ تست شده است.
- [رفع اشکال] رفع مشکل کرش کردن AVD هنگام ورود به فروشگاه Play.
۳۱.۳.۱۳ (۲۷ اکتبر ۲۰۲۲)
با اندروید استودیو دلفین، الکتریک ایل بتا ۲ و فلامینگو قناری ۵ تست شده است.
- [رفع اشکال] مشکل شماره ۲۴۹۹۴۸۳۳۸: پارامتر منطقه زمانی کار نمیکند
- [رفع اشکال] مشکل شماره ۲۴۹۳۶۵۴۳: گزینه Emulator -dns-server بعد از API 31 کار نمیکند
۳۱.۳.۱۲ (۱۰ اکتبر ۲۰۲۲)
با اندروید استودیو دلفین و نسخه بتا ۱ مارماهی الکتریکی تست شده است.
این بهروزرسانی شامل بهبودها و اصلاحات زیر است:
- [رفع اشکال] مشکل شماره ۲۴۷۸۴۳۰۰۰: خطای مدیریت مسیر نسبی در AVD
- افزایش حجم دیسک برای API 24 و بالاتر
۳۱.۳.۱۱ (۲۳ سپتامبر ۲۰۲۲)
با اندروید استودیو دلفین و الکتریک ایل کنری ۱۰ تست شده است.
این بهروزرسانی شامل بهبودها و اصلاحات زیر است:
- [رفع اشکال] از کار افتادن AVD شبیهساز تعبیهشده در پنجره کنترلهای توسعهیافته
- [رفع اشکال] مشکل شماره ۱۸۳۱۳۹۲۰۷: مشکلات صوتی مرتبط با فعالسازی میکروفون توسط شبیهساز
- [رفع اشکال] مشکل شماره ۲۲۹۷۶۴۰۲۴: اشکال لمس چسبنده در AVD که منجر به مشکلات رفتاری رابط کاربری میشود
- [رفع اشکال] خطا در اجرای API 33 AVD در مک M1.
- [رفع اشکال] مشکل شماره ۲۴۳۰۵۳۴۷۹: سرعت پایین شبکه پس از بهروزرسانی شبیهساز
- [رفع اشکال] مشکل شماره ۲۴۴۶۱۷۶۲۷: عدم کارکرد صحیح نقشهها در ویندوز و لینوکس
- [رفع اشکال] مشکل شماره ۲۳۲۹۷۱۷۹۶: دکمه «تماس با دستگاه» در صفحه Extended Controls > Phone از کار افتاده است
- شبیهساز اندروید را به minigbm بهروزرسانی کنید
- مهاجرت اسکریپتهای ساخت به پایتون ۳
۳۱.۳.۱۰ (۱۸ آگوست ۲۰۲۲)
با اندروید استودیو دلفین بتا ۵ و الکتریک ایل کنری ۹ تست شده است.
اکنون دانلودهای مستقل شبیهساز در دسترس هستند. اگر با این آخرین نسخه پایدار با هرگونه مشکل یا خرابی مواجه شدید، لطفاً یک اشکال (bug) ثبت کنید و دانلود نسخه قبلی را از آرشیو دانلودهای شبیهساز در نظر بگیرید.
این بهروزرسانی شامل بهبودها و اصلاحات زیر است:
- پشتیبانی بهتر از مسیرهای یونیکد در ویندوز
- مدیریت بهتر خاموش کردن شبیهساز، به طوری که انتشار مجدد همان AVD بتواند موفقیتآمیز باشد.
- طراحی و تنظیمات پیشفرض AVD تاشو بهروز شده
- دکمههای شبیهساز Wear بهروزرسانی شدند
- بهبودهای پخش صوتی gRPC
- دستور کنسول شبیهساز با قابلیت تغییر اندازه اضافه شد
- رفع مشکل کروم برای API 31
- [رفع اشکال] خطای تایید حساب گوگل با GmsCore نسخه ۲۱.۴۲.۱۸
۳۱.۲.۱۰ (۲۰ آوریل ۲۰۲۲)
با اندروید استودیو، دلفین کنری ۸ و چیپمنک آر سی ۱ تست شده است.
این بهروزرسانی شامل بهبودها و اصلاحات زیر است:
- افزودن ابزار برای بارگذاری توابع Vulkan با قابلیت fallback
- [رفع اشکال] رفع خطای ساخت gcc8
۳۱.۲.۹ (۲۳ مارس ۲۰۲۲)
با اندروید استودیو دلفین کانری ۷ تست شده است.
این بهروزرسانی شامل رفع اشکال زیر است:
- [رفع اشکال] هنگام ذخیره اسنپشات در M1، فشار حافظه را نادیده بگیرید
۳۱.۲.۸ (۷ فوریه ۲۰۲۲)
با اندروید استودیو، پچ ۱ بامبلبی و چیپمنک کنری ۶ تست شده است.
این بهروزرسانی شامل بهبودها و اصلاحات زیر است:
- [رفع اشکال] ورود به برنامهها امکانپذیر نیست
- [رفع اشکال] مشکل شماره ۲۱۵۳۶۸۳۵۸: "adb reboot" در پلتفرم اینتل، avd را با "vcpu shutdown request" از کار میاندازد.
۳۱.۲.۷ (۱ فوریه ۲۰۲۲)
با اندروید استودیو، پچ ۱ بامبلبی و چیپمنک کنری ۶ تست شده است.
این بهروزرسانی شامل رفع اشکال زیر است:
- [رفع اشکال] خطای هنگ کردن شبیهساز در دستگاههای M1.
۳۱.۲.۶ (۲۰ ژانویه ۲۰۲۲)
با اندروید استودیو آرکتیک فاکس، بامبلبی بتا ۴ و چیپمنک کنری ۶ تست شده است.
این بهروزرسانی شامل بهبودها و اصلاحات زیر است:
- دکمههای پوشیدن به شبیهساز Wear OS اضافه شد.
- تمام ویژگیهای خودرو در تب VHAL قابل ویرایش شد.
- [رفع اشکال] خطای تأیید حساب گوگل با GmsCore نسخه ۲۱.۴۲.۱۸.
- [رفع اشکال] Netshaper با VirtioWifi خوب کار نمیکرد.
- [رفع اشکال] دستور کنسول ماوس رویداد کار نمیکرد.
- بررسی KVM برای ایجاد AVD محلی اضافه شد.
۳۱.۱.۳ (۱۸ ژانویه ۲۰۲۲)
این بهروزرسانی شامل بهبودها و اصلاحات زیر است:
- پورتهای کنسول برای فوشیا فعال شدند.
- هنگام تغییر اندازه یک پنجره چند نمایشگره، جهت گیری نادیده گرفته میشود.
- وایفای: پشتیبانی از فیلتر کردن بستههای تکپخشی بر اساس آدرس مک MAT اضافه شده است.
- وایفای: مشکل از کار افتادن شبکهی وایفای هنگام استفاده از vmnet برطرف شد.
۳۰.۹.۵ (۱۵ دسامبر ۲۰۲۱)
این بهروزرسانی شامل بهبودها و اصلاحات زیر است:
- قابلیت تغییر اندازه آسان به اندازه پنجره دسکتاپ یا تبلت اضافه شد.
- پشتیبانی از ورودی چند لمسی از دستگاههای میزبان سازگار اضافه شد.
- VirtioWifi: پشتیبانی از شبکهی Tap اضافه شد.
- ورودی چرخشی برای تصاویر سیستم سایش فعال شد.
- مشکل پیکربندی صدای gRPC برطرف شد.
- پخش شبیهساز SensorReplay برای پشتیبانی از حسگرهای استاندارد اندروید بهروزرسانی شد.
- شبیهساز را با استفاده از درگاه USB به لوازم جانبی و دستگاهها متصل کنید.
۳۰.۴.۵ (۲۳ فوریه ۲۰۲۱)
این بهروزرسانی شامل بهبودها و اصلاحات زیر است:
- macOS: مشکلات مربوط به اعوجاج ورودی صدا برطرف شد.
- پشتیبانی از virtio-vsock در فضای کاربری اضافه شد.
- تصاویر سیستم آینده از virtio-console برای پیامهای logcat و kernel استفاده خواهند کرد.
- افزایش سرعت رندرینگ در Vulkan
- پشتیبانی از اشکالزدایی اسنپشات در صورت شکست تست اضافه شد.
- virtio-gpu: تعاریف بهروزرسانیشده برای پشتیبانی از جدیدترین enumهای منابع blob.
- پشتیبانی از اسنپشات برای انتقالهای گرافیکی نوع 'asg' اضافه شد.
- macOS: پشتیبانی از ساخت و ساز بر اساس macOS SDK 11.1+ اضافه شده است.
- KVMclock به طور پیشفرض در تصاویر سیستم جدیدتر فعال است.
- پشتیبانی از حسگر ضربان قلب به شبیهسازهای Wear اضافه شد.
- قابلیت انتقال کتابخانه در بکاند ولکان حذف شد.
- پشتیبانی از ویژگیهای بیشتر در شبیهساز مودم اضافه شد.
۳۰.۰.۲۶ (۱۶ آگوست ۲۰۲۰)
این بهروزرسانی شامل چندین ویژگی جدید، بهبود ویژگیهای موجود و رفع اشکالات است.
پشتیبانی از گوشیهای تاشو با حسگر لولای مجازی و نمای سهبعدی
پشتیبانی از حسگرهای لولا برای دستگاههای تاشو اضافه شده است. این امر مستلزم تصویر سیستم اندروید ۱۱ و پیکربندی AVD در آینده است. نمای تاشو سهبعدی و پارامترهای لولا اکنون با تنظیمات پیشفرض موجود برای دستگاههای تاشو ادغام شدهاند. موارد زیر میتوانند به عنوان مثال با فایل
config.iniمربوط به AVD تاشو ۷.۳ استفاده شوند:hw.sensor.hinge = yes hw.sensor.hinge.count = 1 hw.sensor.hinge.type = 1 hw.sensor.hinge.ranges = 180-360 hw.sensor.hinge.defaults = 180 hw.sensor.hinge.areas = 54.7-0 hw.sensor.posture_list=4, 3 hw.sensor.hinge_angles_posture_definitions=210-360, 180-210 hw.sensor.hinge.fold_to_displayRegion.0.1_at_posture=4دستگاههای تاشو اکنون یک پارامتر زیرنوع نیز دارند. ویژگی
config.inihw.sensor.hinge.sub_type = hinge/foldاکنون در دسترس است. برای مطالعه بیشتر به پست وبلاگ «توسعه برای اندروید ۱۱ با شبیهساز اندروید» مراجعه کنید.حسگر لولا اکنون به طور پیشفرض فعال است.
اگر یک دستگاه تاشو پیکربندی شده باشد، شبیهساز اکنون بهروزرسانیهای حسگرهای زاویه لولا و تغییرات وضعیت را به مهمان ارسال میکند. دستگاههای تاشوی موجود اکنون با فشار دادن دکمههای تا شدن یا باز شدن نوار ابزار، زاویه و وضعیت حسگر لولا را بهروزرسانی میکنند.

شبیهساز برای میزبانهای ARM64
کد منبع شبیهساز لینوکس اکنون از کامپایل متقابل از میزبانهای x86_64 به arm64 پشتیبانی میکند و اجرای تصاویر سیستم arm64 را با مجازیسازی KVM امکانپذیر میسازد. در حال حاضر، فقط
-gpu swiftshader_indirect(رندر میزبان Swiftshader arm64) پشتیبانی میشود، اما میتوان با جایگزینی lib64/gles_swiftshader با آنها و سپس راهاندازی مجدد با-gpu swiftshader_indirect، از مجموعهای سازگار از کتابخانههای libEGL/libGLESv2 پردازنده گرافیکی میزبان نیز استفاده کرد. همچنین ممکن است اسنپشاتها کار نکنند (-no-snapshotبه خط فرمان اضافه کنید). دستورالعملها:mkdir emu cd emu repo init -u https://android.googlesource.com/platform/manifest -b emu-master-dev --depth=1 repo sync -qcj 12 cd external/qemu pip install absl-py pip install urlfetch sudo apt-get install crossbuild-essential-arm64 python android/build/python/cmake.py --noqtwebengine --noshowprefixforinfo --target linux_aarch64پشتیبانی از اپل سیلیکون در حال انجام است.
پشتیبانی از پردازنده گرافیکی ویرچو
- پشتیبانی از منابع بلاب منسجم میزبان virtio-gpu که به زودی ارائه میشود، در سمت میزبان اضافه شده است.
- با توجه به نحوهی عملکرد رندرینگ شبیهساز، اکنون صف virtio-gpu را در نخ vcpu پردازش میکنیم (زیرا رندرینگ به هر حال به نخهای دیگر منتقل میشود). رندرینگ virtio-gpu در نسخههای بعدی تصویر سیستم و شبیهساز فعال خواهد شد.
- در تصویر سیستم آینده، شبیهساز قادر خواهد بود تمام گرافیکها را با یک پشته مبتنی بر virtio-gpu اجرا کند.
سایر ویژگیها و پیشرفتهای جدید
- اکنون با استفاده از
-qemu -usb -device usb-host,vendorid=<usb-vendor-id>,productid=<usb-product-id>در ویندوز، امکان اتصال از طریق USB فراهم شده است. (این قابلیت باید از قبل روی لینوکس و macOS نیز کار میکرد) - کتابخانههای WebRTC به M83 بهروزرسانی شدند.
- این شبیهساز اکنون از پخش صدا در کانتینرها از طریق WebRTC پشتیبانی میکند.
- نقطه پایانی لوله داروین حذف شده است.
- رمزگشایی CUDA VPx برای ویدیو اکنون در دسترس است، اگر رمزگشایی CUDA VPx در سختافزار موجود باشد، از طریق متغیر محیطی
ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1. - در macOS، SSE 4.1 و 4.2 اکنون از داخل مهمان اندروید در دسترس هستند.
- در macOS، INVTSC اکنون به طور پیشفرض فعال است. این میتواند دقت اندازهگیری زمان از مهمان را بهبود بخشد.
- اکنون پیگیری میکنیم که کدام پنل کنترل توسعهیافته توسط کاربر در معیارها انتخاب شده است.
- شبیهساز لینوکس اکنون از ساعت مجازیسازیشدهی KVM استفاده میکند، زمانی که نسخه هستهی مهمان >= 5.4 (تصاویر سیستم R یا بالاتر) باشد.
- شبیهساز اکنون از LZ4 برای خارج کردن هستههای مهمان از حالت فشرده استفاده میکند و آن را با خط لوله هسته مدرن سازگار میسازد.
دستورات کنسول برای دریافت دایرکتوری AVD شبیهساز، مسیر فایل اکتشاف در مورد استفاده Studio-embedded و مسیر snapshotها اضافه شد:
adb emu avd path # Obtains path to AVD directory adb emu avd discoverypath # Obtains path to discovery file adb emu avd snapshotspath # Obtains path to snapshots folder adb emu avd snapshotpath <snapshotName> # Obtains path to the folder that stores the snapshot for the snapshot with name <snapshotName>
برای اینکه فضای عمودی صفحه نمایش راحتتر ذخیره شود، گزینهای برای مخفی کردن قاب دستگاه برای AVD فعلی در Extended Controls > Settings اضافه کردهایم. برای مخفی کردن سراسری قابهای دستگاه برای همه AVDها، ویژگی
NoDeviceFrameرا در دسترس قرار دادهایم که میتوان آن را از طریق اجرای شبیهساز از خط فرمان با-feature NoDeviceframe فعال کرد، یا برای قفل کردن آن،NoDeviceFrame = onبه~/.android/advancedFeatures.iniاضافه کرد (اگر این فایل از قبل وجود ندارد، آن را ایجاد کنید).یک آیتم کشویی در صفحه سلولار اضافه شد تا پشتیبانی از meterdness را فعال و غیرفعال کنید، این گزینه برای ایمیجهای سیستم قدیمیتر که از تاگل meterdness 5G پشتیبانی نمیکنند، غیرفعال است.
- همچنین دستور کنسول برای همین منظور اضافه شده است:
gsm meter on|off
- همچنین دستور کنسول برای همین منظور اضافه شده است:
زنجیره ابزار ارتقا یافته/به C++17 ساخته شده است.
رفع اشکال: شبیهساز تعبیهشده
- کلیپبورد حالا باید کار کند.
- مشکلی که باعث میشد حروف بزرگ در شبیهساز به صورت حروف کوچک نمایش داده شوند، برطرف شد.
- مشکل بارگذاری توکن کنسول از یک مسیر یونیکد در ویندوز برطرف شد.
- پیام خطای
SO_REUSEPORTدر لینوکس برطرف شد. - مشکل خرابی اسنپشات هنگام ارسال دستورات اسنپشات از طریق gRPC و همچنین هنگام فشار دادن دکمه ذخیره اسنپشات در شبیهساز تعبیهشده اندروید استودیو برطرف شد.
هنگام استفاده از شبیهساز لینوکس تعبیهشده در Studio، متوجه شدیم که اگر این کار از طریق Chrome Remote Desktop انجام شود، اشکالی وجود دارد که در آن
XDG_RUNTIME_DIRتنظیم نشده است و ممکن است باعث شود شبیهساز تعبیهشده به دلیل قرار گرفتن فایلهای کشف شبیهساز درXDG_RUNTIME_DIRنمایش داده نشود. میتوانید وضعیت مشکل مربوطه را در ردیاب مشکل Chrome بررسی کنید.به عنوان یک راه حل موقت، شبیهساز اکنون به استفاده از فایلهای اکتشافی در یک دایرکتوری احتمالاً متفاوت که بر اساس شناسه کاربری کاربر است، برمیگردد:
/run/user/<uid>.شبیهساز تعبیهشده: دستگاههایی که گوشهها/ناچهای گرد دارند، اکنون طرحبندی خود را به درستی تغییر میدهند تا فضای کافی برای گوشهها و ناچ ایجاد شود. این امر مستلزم راهاندازی سرد (Cold Boot) این شبیهسازها است.
نقطه پایانی gRPC اکنون از ارسال پیامک به دستگاه پشتیبانی میکند.
اصلاحات عمومی
- ما شاهد مشکلات سازگاری در اجرای شبیهساز ویندوز با فعال بودن Riot Vanguard بودهایم. شبیهساز ویندوز اکنون آنتیچیت Vanguard را شناسایی میکند و در صورت شناسایی Vanguard، یک پیام هشدار نمایش میدهد.
- خطای
FD_SETSIZEدر ویندوز برطرف شد. اکنون به جایselect()WSAEventSelect()() برای ایجاد اتصالات غیر مسدودکننده به سرورهای loopback استفاده میکنیم. - پشتیبانی از ویژگی F16C CPUID به شبیهساز لینوکس اضافه شد و مشکلات اجرای برخی از برنامههای ARM64 از طریق ترجمه NDK برطرف شد؛ macOS/Windows در حال انجام است.
- پخش مسیر gpx/kml برای دنبال کردن مهرهای زمانی اصلاح شد.
- مشکل بالا و پایین پریدن آیکون در هنگام اجرا برای مک او اس برطرف شد.
- اگر
hw.audioInput=noوhw.audioOutput=noدرconfig.ini، صدای شبیهساز اکنون به درستی غیرفعال شده است. - مشکلی که باعث میشد اگر پنجره شبیهساز در حالت مینیمایز قرار میگرفت در حالی که پنجره کنترلهای توسعهیافته باز بود اما فعال نبود، هنگام تغییر اندازه پنجره شبیهساز، پنجره کنترلهای توسعهیافته همچنان نمایش داده میشد، برطرف شد. ما این رفتار (موردی که در آن پنجره کنترلهای توسعهیافته فعال بود) را در بهروزرسانیهای آینده بهطور کامل حذف خواهیم کرد.
- اشکال جزئی که باعث میشد هنگام شروع شبیهساز، وایفای متصل نباشد، برطرف شد.
- مشکل هنگ کردن هنگام خروج هنگام صدور دستورات shell با وقفههای طولانی یا نامحدود توسط شبیهساز برطرف شد.
- بایوس کامپیوتر بهروزرسانی شد و اصلاحاتی برای پشتیبانی بهتر از تصاویر بزرگ ارسالی به
-initrd انجام شد؛ بایوس قبلی از روشی بسیار ناکارآمد استفاده میکرد. - رفع مشکل کرش شدن برنامه هنگام خاتمه دادن به برنامه هنگام استفاده از گزینه
-wifi-server-port. - اکنون اگر گزینههای پشتیبانی نشده به
-prop ارسال شوند، شبیهساز هشداری چاپ میکند (فقط propهای qemu.* پشتیبانی میشوند). - هنگام ساخت شبیهساز روی ویندوز، احتمال کمتری وجود دارد که شاهد خطاهای جزئی در نوشتن فایلها باشیم. برای اطلاعات بیشتر، به دستورالعملهای ساخت ویندوز مراجعه کنید.
- دکمه زوم برای AVD های تاشو غیرفعال شد، که باعث ایجاد مشکل میشد.
- شبیهساز اکنون زمان بوت شدن پس از راهاندازی مجدد دستگاه را به درستی گزارش میدهد.
- لینوکس: در مواردی که مجوزهای KVM کافی نباشد، شبیهساز اکنون دستورالعملهای اشکالزدایی را سریعتر چاپ میکند.
- مشکلی که باعث میشد شبیهساز نتواند ایمیجهای سیستمی جدید را بدون هیچ شتابدهی بوت کند، برطرف شد.
- مشکل خرابی حافظه یا از کار افتادن آن هنگام شروع به کار، ناشی از آشکارساز تکمیل بوت، برطرف شد.
- نشت حافظه در طول جلسات طولانی ضبط صفحه نمایش برطرف شد.
- آیکونهای شبیهساز بهروزرسانی شدهاند تا نشان تجاری Studio 4.1 را منعکس کنند.
- پشتیبانی بهتری برای تشخیص جلسات از راه دور در ویندوز اضافه شد.
رفع مشکلات: رمزگشایی گرافیک و ویدیو
- مشکلی که باعث میشد آخرین نسخه بازی آسفالت ۹ با صفحه سیاه رندر شود، برطرف شد.
- هرزنامهای در مورد خالی کردن بافر نگاشتشده با
NULLحذف شد. - مشکل عدم تطابق وضعیت Vulkan هنگام خروج برنامه مهمان Vulkan برطرف شد.
- سایهزنهای شبیهسازی Vulkan ASTC/ETC2 اکنون در کتابخانه libOpenglRender گنجانده شدهاند. این امر در مقایسه با خواندن از سیستم فایل، قابل اعتمادتر خواهد بود.
- مشکلی در Vulkan که در آن، در صورت اجرا با یک نمونه Vulkan 1.0 روی میزبان،
vkGetImageMemoryRequirements2KHRبه اشتباه فیلدpNextمربوط به ساختارVkMemoryRequirements2را پاک میکرد، برطرف شد. - مشکل نشت حافظه در رندر Vulkan برطرف شد.
- مشکل اخیر که باعث میشد شیدرهای GLSL ES 1.00 با نام متغیرهایی مانند
isampler2Dکامپایل نشوند، برطرف شد. - مترجم سایهزن ANGLE با اصلاحات مختلفی که به رفع مشکل احتمالی عدم کامپایل سایهزنها در لینوکس میپردازند، بهروزرسانی شد.
- اکنون اگر فریمبافر پایه، سایهزن blit، نتواند کامپایل شود، شبیهساز را از کار میاندازیم تا این پدیده را پیگیری کنیم.
- مترجم سایهزن ANGLE بهروزرسانی شد تا با ANGLE بالادستی همگام باشد. این بهروزرسانی مشکل مربوط به خرابی حافظه هنگام ترجمه و شیدرهای OpenGL ES با قابلیت تا شدن ثابت که از ماتریسهای غیرمربعی استفاده میکردند را برطرف کرد. مترجم سایهزن اکنون یک کتابخانه مشترک جداگانه،
libshadertranslator.dll، است. - مشکلی که در هنگام راهاندازی اولیه Vulkan در برخی از درایورهای GPU وجود داشت و برخی از عملکردهای دستگاه نسخه ۱.۱ پیدا نمیشد، برطرف شد.
- ولکان: ما به استفاده از لودر از پیش ساخته شده بازگشتهایم زیرا استفاده از لودر ولکان سیستم در برخی تنظیمات مشکلاتی ایجاد میکرد؛ راه حل بهتری پیدا خواهیم کرد.
- مشکل مربوط به عدم تطابق شاخصهای نوع حافظه هنگام استفاده از حافظه خارجی Vulkan در میزبان، که ممکن بود وارد شده باشد، برطرف شد.
- مشکل شبیهسازی
GL_ALIASED_POINT_SIZE_RANGEکه در آن enum روی میزبان پشتیبانی نمیشد، برطرف شد. - مشکلی که باعث میشد در برخی از پردازندههای گرافیکی میزبان، شیدرهای Skia به دلیل خطاهای مربوط به
GL_EXT_shader_framebuffer_fetchنتوانند کامپایل شوند، برطرف شد. - از آنجایی که نسخه ما از رندرکننده D3D9 ANGLE چند نسخه پیش حذف شد، اکنون اگر در تنظیمات رابط کاربری، d3d11 ANGLE انتخاب شده باشد، کاربرانی که از آن رندرکننده استفاده میکردند را به طور خودکار به آن سوئیچ میکنیم.
- اطلاعات اشکالزدایی بیشتری به مقداردهی اولیه WGL در ویندوز اضافه شده است تا بتوان خطاها را ردیابی کرد.
- وقتی
hw.gltransport=virtio-gpu-pipe، با عدم چرخش روی میزبان در انتقال از میزبان به مهمان، عملکرد بهبود مییابد. - گزارشهای اشکالزدایی بیشتری برای زمانی که شبیهسازی OpenGLES نتواند مقداردهی اولیه شود، اضافه شد.
- مشکلی که باعث میشد ویدیوهای یوتیوب هنگام بارگذاری اسنپشات چشمک بزنند یا نمایش داده نشوند، برطرف شد.
- فعلاً به رمزگشایی نرمافزاری برای libvpx برگشتیم، زیرا مشکلاتی در رمزگشایی سختافزاری CUDA از libvpx مشاهده کردهایم. اگر پیادهسازی رمزگشایی سختافزاری CUDA پشتیبانیشده در سمت میزبان دارید، رمزگشایی سختافزاری libvpx را میتوان از طریق متغیر محیطی
ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1دوباره فعال کرد.
۳۰.۰.۱۰ (۳۰ آوریل ۲۰۲۰)
این بهروزرسانی شامل پشتیبانی از اجرای مستقیم شبیهساز در اندروید استودیو و دستگاههای مجازی با حالت پنجرهی آزاد (Freeform Window Mode) فعال به صورت پیشفرض است.
اجرای شبیهساز در اندروید استودیو
اکنون میتوان شبیهساز اندروید را مستقیماً در اندروید استودیو اجرا کرد . از این ویژگی برای صرفهجویی در فضای صفحه نمایش، پیمایش سریع بین شبیهساز و پنجره ویرایشگر با استفاده از کلیدهای میانبر و سازماندهی گردش کار IDE و شبیهساز در یک پنجره برنامه واحد استفاده کنید.
حالت پنجره آزاد
اکنون میتوانید با انتخاب پروفایل سختافزار تبلت ۱۳.۵ اینچی Freeform هنگام ایجاد یک دستگاه مجازی در اندروید استودیو، یک AVD ایجاد کنید که حالت پنجره Freeform در آن فعال باشد. این پروفایل سختافزاری به یک تصویر سیستم با پیشنمایش توسعهدهندگان اندروید ۱۱ نسخه ۳ یا بالاتر نیاز دارد.
مشکلات شناخته شده
تغییر اندازه پنجرههای freeform در حال حاضر به دلیل مشکلاتی در انتقال تمرکز به Window Manager با مشکل مواجه است. این مشکل در نسخه بعدی تصویر سیستم اندروید ۱۱ برطرف خواهد شد.
۳۰.۰.۰ (۱۹ فوریه ۲۰۲۰)
این بهروزرسانی شامل ایمیجهای سیستمی اندروید ۱۱ (سطح API 30) و بهبود عملکرد هنگام اجرای فایلهای باینری ARM است.
ایمیجهای سیستم اندروید ۱۱
اکنون میتوانید با انتخاب هر یک از ایمیجهای سیستمی سطح ۳۰ API موجود، یک AVD ایجاد کنید که اندروید ۱۱ را اجرا میکند:
- x86 : شامل هر دو ABI های x86 و ARMv7 میشود.
- x86_64 : شامل ABI های x86، x86_64، ARMv7 و ARM64 میشود.
پشتیبانی از فایلهای باینری ARM در ایمیجهای سیستم اندروید ۹ و ۱۱
اگر قبلاً به دلیل وابستگی برنامهتان به فایلهای باینری ARM، قادر به استفاده از شبیهساز اندروید نبودید، اکنون میتوانید از تصویر سیستمی اندروید ۹ x۸۶ یا هر تصویر سیستمی اندروید ۱۱ برای اجرای برنامهتان استفاده کنید - دیگر نیازی به دانلود یک تصویر سیستمی خاص برای اجرای فایلهای باینری ARM نیست. این تصاویر سیستمی اندروید ۹ و اندروید ۱۱ به طور پیشفرض از ARM پشتیبانی میکنند و در مقایسه با نمونههایی که شبیهسازی کامل ARM دارند، عملکرد به طرز چشمگیری بهبود یافتهای ارائه میدهند.
مشکلات شناخته شده
- برخی از فایلهای باینری ARMv7 روی ایمیجهای سیستمی اندروید ۱۱ نسخه x86 و x86_64 اجرا نمیشوند. هنگام هدف قرار دادن اندروید ۱۱، ساخت برای ARM64 را در نظر بگیرید.
۲۹.۰.۱۱ (۲۹ مه ۲۰۱۹)
این بهروزرسانی شامل بهبودها و اصلاحات زیر است:
- ویندوز: شبیهساز اکنون به جای کامپایل استاتیک با
libgccبه DLLlibgccکه ما ارائه میدهیم متکی است. - لینوکس: پشتیبانی از logcat به API مربوط به gRPC اضافه شد. برای اطلاعات بیشتر در مورد gRPC، به شبیهساز جریان gRPC (لینوکس) مراجعه کنید.
- این شبیهساز اکنون شامل یک ساختار بدون سر (headless build) برای مهمانهای ۳۲ بیتی x86 (
qemu-system-i386) است. این ویژگی امکان اجرای ایمیجهای ۳۲ بیتی x86 را برای سطوح API 26 و پایینتر با ساختار بدون سر فراهم میکند. توجه داشته باشید که برای مهمانهای ۳۲ بیتی x86 با API 27 و بالاتر، شبیهساز از موتور ۶۴ بیتی (qemu-system-x86_64) استفاده میکند زیرا در این ایمیجهای سیستم، در حالی که فضای کاربری ۳۲ بیتی است، هسته ۶۴ بیتی است. اندروید استودیو از هسته برای انتخاب موتورهای شبیهسازی استفاده میکند. - اکنون میتوانید مسیرهای کتابخانه Qt سفارشی را با استفاده از متغیر محیطی
ANDROID_QT_LIB_PATHمشخص کنید. - اکنون میتوانید شبیهساز را با فایلهای باینری قبلی که از QEMU1 استفاده میکنند، اجرا کنید، البته اگر فایلهای اجرایی QEMU1 (
emulator[64]-[x86|arm|etc]) در دایرکتوری شبیهساز قرار داشته باشند. - ویندوز: مشکلی که گاهی اوقات باعث میشد شبیهساز با پیام «درخواست خاموش کردن vCPU» شروع به کار نکند، برطرف شد.
- مشکلی که مانع خط لوله غیرضروری در بافتهای فشرده شبیهسازی شده در Vulkan ایجاد میکرد، برطرف شد.
- خطایی که هنگام استفاده از کدگذاری انتقال تکهای در درخواستهای پروکسی http رخ میداد، برطرف شد. برای اطلاعات بیشتر، به جزئیات کامیت مراجعه کنید.
۲۹.۰.۹ (۷ مه ۲۰۱۹)
این بهروزرسانی شامل رفع اشکال زیر است:
- ویندوز: مشکلی که باعث میشد دوربین صحنه مجازی و وبکم روی شبیهساز کار نکنند، برطرف شد.
۲۹.۰.۸ (۶ مه ۲۰۱۹)
این بهروزرسانی شامل بهبودها و اصلاحات زیر است:
- پشتیبانی از چندین نمایشگر سختافزار مجازی زمانی که یک سرویس مهمان برای شمارش و تنظیم هر نمایشگر وجود دارد، اضافه شده است. چندین نمایشگر سختافزار مجازی در بهروزرسانی تصویر سیستم شبیهساز در آینده گنجانده خواهد شد.
- یک گزینه خط فرمان جدید اضافه شده است:
-delay-adb. این گزینه پردازش بستههای ADB را تا زمانی که سیستم عامل مهمان (از حالت بوت سرد) بوت شود، متوقف میکند. این گزینه به حل مشکلاتی که ممکن است در صورت استفاده از شبیهساز در یک محیط CI که شبیهساز را مجدداً راهاندازی میکند و همزمان از DDMS استفاده میکند، رخ دهد، کمک میکند. - خطایی که هنگام بارگذاری اسنپشاتها رخ میداد و در آن
glIsRenderbufferمقدار نادرستی را برمیگرداند، برطرف شد. - برخی از مشکلات مربوط به حالت بیاستفاده هنگام راهاندازی مجدد مهمان اندروید برطرف شد.
- ویندوز: مشکلاتی که مانع از شروع شبیهساز در زمانی که نام کاربری ویندوز دارای کاراکترهای غیر ASCII یا فاصله بود، میشد، برطرف شد.
مشکلات شناخته شده
- رابط کاربری Snapshots برای تصاویر سیستم Automotive غیرفعال است زیرا در حال حاضر از Snapshots برای این تصاویر سیستم پشتیبانی نمیشود.
۲۹.۰.۶ (۱ مه ۲۰۱۹)
این بهروزرسانی شامل چندین ویژگی جدید، بهبود ویژگیهای موجود و رفع اشکالات است.
حذف پشتیبانی از QEMU1 و ویندوز ۳۲ بیتی
برای نگهداری بهتر شبیهساز، ما دیگر QEMU1 و فایلهای باینری ویندوز ۳۲ بیتی را ارائه نمیکنیم. اگر از ویندوز ۳۲ بیتی استفاده میکنید، نمیتوانید به نسخه ۲۹.۰.۶ ارتقا دهید.
الزامات مربوط به ایمیجهای سیستم اندروید Q
اگر میخواهید AVD ای را اجرا کنید که از تصویر سیستمی اندروید Q استفاده میکند، اکنون باید از نسخه 29.0.6 (این نسخه منتشر شده) یا بالاتر استفاده کنید.
پروژه بهسازی سنگ مرمر
این بهروزرسانی ادامهی کار ما روی طرح ابتکاری پروژهی Marble است که در اجلاس توسعهدهندگان اندروید در نوامبر ۲۰۱۸ اعلام شد. برای اطلاعات بیشتر در مورد سایر بهبودهای پروژهی Marble در نسخههای قبلی، به Android Emulator: Project Marble Improvements مراجعه کنید.
برای این بهروزرسانی، بیشتر تلاشهای پروژه Marble ما به کاهش استفاده از منابع شبیهساز، مانند کاهش استفاده از CPU در حالت بیکاری، اختصاص داده شده بود. ما همچنین تغییراتی را اعمال کردهایم که کار با شبیهساز را در محیطهای متنوعتر آسانتر میکند و به مشکلات کلی کیفیت نیز پرداختهایم.
بخشهای زیر، بهبودهای پروژه Marble را که در این بهروزرسانی گنجانده شدهاند، شرح میدهند:
بهبودهایی در رفتار صوتی میزبان
از نسخه ۲۸.۰.۳ به بعد، این شبیهساز به طور پیشفرض ورودی صدا از میزبان را مسدود میکند .
اگر میخواهید از دادههای صوتی میزبان استفاده کنید، میتوانید با رفتن به Extended Controls > Microphone و فعال کردن گزینهی Virtual microphone uses host audio input ، آن گزینه را فعال کنید. این گزینه هر زمان که شبیهساز مجدداً راهاندازی شود، بهطور خودکار غیرفعال میشود.
اگر از خط فرمان استفاده میکنید، میتوانید صدای میزبان را با استفاده از گزینه -allow-host-audio نیز فعال کنید و میتوانید از دستورات ADB زیر برای روشن یا خاموش کردن دادههای صدای میزبان به ترتیب استفاده کنید:
-
adb emu avd hostmicon -
adb emu avd hostmicoff
بهبودهایی برای ساختهای شبیهساز بدون سر (headless emulator builds)
از نسخه ۲۸.۰.۲۵ به بعد، این شبیهساز شامل یک گزینه ساخت بدون سر (headless build) است که میتواند بدون رابط کاربری اجرا شود. میتوانید از ساختهای بدون سر برای کمک به راهاندازی شبیهساز برای داکر و گردشهای کاری ادغام مداوم (CI) استفاده کنید.
با این بهروزرسانی، ما پیشرفتهای بیشتری ایجاد کردهایم تا شبیهساز بتواند با حداقل تعداد وابستگیها اجرا شود. در لینوکس، نسخههای بدون سر دیگر شامل کتابخانههای pulseaudio یا libX11 نمیشوند. کتابخانههای اشتراکی وابسته به سیستم که با شبیهساز بستهبندی نشدهاند به لیست زیر کاهش یافتهاند:
-
Linux-vdso.so.1 -
Libutil.so.1 -
Libm.so.6 -
Libdl.so.2 -
Librt.so.1 -
Libpthread.so.0 -
Libgcc_s.so.1 -
Libc.so.6 -
ld-linux-x86-64.so.2
کتابخانههای رابط کاربری Qt به نسخه ۵.۱۲ LTS ارتقا یافتند.
این بهروزرسانی شامل بهبودهای زیر نسبت به نسخه Qt 5.12 LTS است:
- برای جلوگیری از خرابی در رمزگشایی
libpngکیوت هنگام شروع برخی از تصاویر سیستم، شبیهساز اکنون از کپیlibpngخود برای رمزگشایی تصاویر PNG استفاده میکند. - برای رفع مشکلات مربوط به برخی از نصبهای لینوکس که حاوی نسخههای ناسازگار برخی از کتابخانههای وابسته به Qt هستند، اکنون
libfreetype،libsoftokn،libsqlite3وlibxkbcommonرا با شبیهساز بستهبندی میکنیم. - این شبیهساز اکنون به جای استفاده از کتابخانههای Qt که نتایج غیرقابل اعتمادی را برمیگرداندند، از کتابخانههای پنجرهسازی بومی پلتفرم برای دریافت ابعاد مانیتور استفاده میکند.
بهینهسازی خودکار پردازنده پس از راهاندازی سرد
برای مدیریت مصرف CPU، شبیهساز اکنون دستورات ADB زیر را پس از دریافت سیگنال boot complete در حالت بوت سرد اجرا میکند:
-
adb shell settings put screen_off_timeout 214783647 - این دستور زمان خاموش شدن صفحه نمایش را افزایش میدهد تا شبیهساز بتواند در حالت باتری و بدون نیاز به شارژ مجدد استفاده شود. در حالت باتری، استفاده از CPU در پسزمینه تا حد زیادی کاهش مییابد.
- در حالت شارژ AC، عملیات پسزمینه GMSCore مانند بهروزرسانی برنامهها میتواند بدون هیچ هشداری تمام هستههای پردازنده دستگاه - و در نتیجه، دستگاه کاربر - را به کار گیرد.
-
adb shell pm revoke com.google.android.googlequicksearchbox android.permission.RECORD_AUDIO - این دستور مجوزهای میکروفون را برای برنامه جستجوی گوگل لغو میکند، که باعث کاهش چشمگیر استفاده از CPU در پسزمینه در صفحه اصلی و در لانچر هنگام فعال بودن برنامه جستجوی گوگل میشود.
- این دستور علاوه بر رفتار پیشفرض شبیهساز که صدای میزبان را برای میزبان غیرفعال میکند ، اجرا میشود. علاوه بر این، این دستور به طور خودکار کاهش مصرف CPU را که برای تشخیص کلمات کلیدی از نسخه 28.0.23 شرح داده شده است، فراهم میکند.
متغیرهای محیطی جدید برای نظارت بر عملکرد
اکنون میتوانید از دو متغیر محیطی جدید برای فعال کردن نظارت دقیق بر عملکرد و میزان استفاده از منابع شبیهساز استفاده کنید.
-
SHOW_PERF_STATS=1 - این متغیر محیطی امکان ردیابی میزان استفاده از CPU و RAM را فراهم میکند. ردیابی میزان استفاده از RAM، بین میزان استفاده از گرافیک و کل حافظهی داخلی تمایز قائل میشود.
-
ANDROID_EMU_TRACING=1 - این متغیر محیطی، هر بار که یک ورودی یا عملیات گرافیکی مدت زمان زیادی (بیش از ۱ میلیثانیه) طول میکشد، چاپ را فعال میکند.
- ما همچنین از این متغیر محیطی برای کمک به تشخیص مشکلاتی که کاربران ویندوز با آن مواجه شدهاند، استفاده میکنیم. این مشکلات شامل افت فریم (jank) بیشتری نسبت به کاربران macOS یا لینوکس است.
پروژه عمومی بهسازیهای مرمر
این بهروزرسانی همچنین شامل بهبودهای کلی زیر است که بخشی از طرح ابتکاری Project Marble هستند:
- اکنون میتوانید بلافاصله از طریق دستورات کنسول زیر، تمام vCPU های موجود در شبیهساز را متوقف کنید:
-
adb emu avd pause -
adb emu avd resume
-
- سربار طراحی OpenGL را به میزان قابل توجهی کاهش داده است. این بهبود، مصرف CPU را در حین پخش انیمیشنها توسط شبیهساز کاهش میدهد.
- پشتیبانی از دستگاه شبکه مجازی e1000 مربوط به QEMU اصلی بازیابی شد. میتوانید از این دستگاه برای راهاندازی شبیهساز در محیط شبکه پلسازی شده استفاده کنید. در محیط شبکه پلسازی شده، شبیهساز روی شبکه میزبان و شبکه میزبان روی شبیهساز نمایش داده میشود.
- اکنون از فایلهای بایوس سازگار با QEMU 2.12 برای راهاندازی شبیهساز استفاده میشود.
- نسخه
ffmpegبرای رمزگذاری و رمزگشایی ویدیو به ۳.۴.۵ ارتقا یافت. - با جایگزینی حلقه اصلی که مبتنی بر
select()بود با یک حلقه اصلی که مبتنی برkqueueاست، سربار ورودی/خروجی حلقه اصلی QEMU در macOS به میزان قابل توجهی کاهش یافت. - اندازه بافر Logcat به ۲ مگابایت افزایش یافت تا مشکلات مربوط به EOF نامنظم و غیرمنتظره هنگام اجرای logcat با شبیهساز برطرف شود.
- شبیهساز اکنون به طور پیشفرض متغیر محیطی
LC_ALL=Cرا صادر میکند. این تغییر، مشکلات خرابی و ناسازگاری مرتبط با اجرای شبیهساز در زبانهای مختلف را برطرف میکند. - اکنون میتوانید میزان استفاده از CPU و RAM توسط شبیهساز را با استفاده از آمار عملکردی که در Extended Controls > Settings > Advanced > Performance Stats قابل دسترسی است، پیگیری کنید. اگر به نظر میرسد که شبیهساز بیش از حد از CPU یا RAM استفاده میکند، از این آمار برای تشخیص سریع مشکلات استفاده کنید.
-
glReadPixels GL_IMPLEMENTATION_COLOR_READ_TYPEاکنون به جای نتیجه شبیهسازی شده، از نتیجه پردازنده گرافیکی میزبان استفاده میکند. این تغییر به رفع مشکلاتی که در آنها تصاویر و دادهها به دلیل فرمت نامناسب برای بازخوانی نمایش داده نمیشوند، کمک میکند. - پشتیبانی از افزونههای OpenGL ES
GL_EXT_texture_format_BGRA8888وGL_APPLE_texture_format_BGRA8888در صورتی که توسط میزبان پشتیبانی شوند، اضافه شده است. - اطلاعات تشخیصی بیشتری به رابط کاربری Bugreport اضافه شد. علاوه بر این، میتوانید با استفاده از دستورات زیر از کنسول به گزارشهای باگ دسترسی داشته باشید:
-
telnet localhost 5554 -
avd bugreport
-
- در ایمیجهای سیستم اندروید Q، شبیهساز حداقل اندازه رم خود را به ۲ گیگابایت افزایش میدهد.
- هر زمان که OpenGL یا hypervisor در مقداردهی اولیه با شکست مواجه شوند، گزارشگیری و چاپ بیشتری اضافه میشود.
- اگر شبیهساز نتواند یک نمونهی
-read-onlyهمزمان از یک AVD را اجرا کند، اکنون سعی میکند AVD-read-onlyرا ۳ بار دیگر در طول ۳ ثانیه مجدداً راهاندازی کند. این تغییر احتمال اینکه شبیهساز بتواند نمونههای-read-onlyهمزمان یک AVD را راهاندازی کند را افزایش میدهد، اگر سایر نمونههای قابل نوشتن آن AVD پاکسازی فایلهای قدیمی را انجام نداده باشند. - برای ایمیجهای سیستمی آینده، این شبیهساز اکنون از Hardware Composer 2.0 پشتیبانی میکند. این تغییر باید سربار درایور را هنگام اجرای اکثر انیمیشنها کاهش دهد.
- ساخت شبیهساز اکنون مبتنی بر CMake/Ninja است.
- در رابط کاربری کنترلهای توسعهیافتهی شبیهساز، خطوط جداکننده در جدول میانبرهای صفحهکلید بازیابی شدهاند.
- کاربران اکنون میتوانند در یک بازه زمانی ۱۰ ثانیهای، معیارهای استفاده از CPU و RAM را در اختیار تیم ما قرار دهند. ما از این معیارها برای غنیسازی دادههای خود در مورد استفاده از منابع شبیهساز با موارد استفاده مختلف از کاربران خود استفاده میکنیم که به ما امکان میدهد شبیهساز را کارآمدتر و پاسخگوتر کنیم.
رفع مشکلات عمومی پروژه مرمر
این بهروزرسانی همچنین شامل اصلاحات کلی زیر است که بخشی از طرح ابتکاری Project Marble هستند:
- مشکلات مربوط به پرش تصویر و فریمهای نادرست که در سیستمهای دارای پردازنده گرافیکی اینتل هنگام استفاده از تصاویر سیستم اندروید Q نمایش داده میشدند، برطرف شد.
- مشکلی که باعث میشد هنگام استفاده از تصاویر سیستمی اندروید Q با پوستههای Pixel 2 XL (یا هر پوستهای که دارای بریدگی یا گوشههای گرد است) صفحه سیاه نمایش داده شود، برطرف شد.
- مشکلی که باعث میشد گزینه خط فرمان
-partition-sizeاندازه پارتیشن داده را تنظیم نکند، برطرف شد. - مشکلی که باعث میشد pulseaudio در شبیهساز Linx در برخی شرایط بچرخد و کل هسته پردازنده را اشغال کند، برطرف شد.
- مشکلات مربوط به دسترسی خارج از محدوده به حافظه هنگام پردازش بافتهای فشرده برطرف شد.
- خطاهای GL که هنگام بهروزرسانی برخی از بافرهای gralloc (با فرمت RGB 565، RGB10A2، RGB(A)16F) روی میزبان در
glTexSubImage2Dرخ میداد، برطرف شد. - مشکل نمایش در تصاویر سیستمی اندروید Q با اسنپشاتها که در آن هندسهی نوار اعلانها با تنظیم نادرست مقسومعلیه نمونه رندر میشد، برطرف شد.
- چند مشکل کرش و هنگ کردن که به سختی قابل بازیابی بودند و در هنگام اجرا به دلیل از دست دادن سیگنالهای Qt یا داشتن حالتهای ناپایدار و ناپایدار در هنگام راهاندازی رخ میدادند، برطرف شد.
- مشکلات متعدد همزمانی برطرف شد. اکنون میتوانیم شبیهساز لینوکس را با ThreadSanitizer (TSAN) بسازیم که میتواند به راحتی اشکالاتی را که در غیر این صورت تولید مجدد آنها دشوار است، کشف کند.
- برای کاربران لینوکس: ما متوجه شدهایم که در برخی از هستههای میزبان، هسته اندروید مهمان میتواند با یک خطای سختافزاری عمومی در KVM مواجه شود و از آن خارج شود. اکنون شبیهساز در صورت بروز این اتفاق
abort()اجرا میکند تا قابلیت اشکالزدایی را افزایش دهد (قبلاً، شبیهساز فقط هنگ میکرد). - برای کاربران لینوکس: برای راحتی در تنظیمات CI، میتوانید از گزینه جدید خط فرمان
-stdouterr-file <file-name> برای هدایتstdoutوstderrبه یک فایل استفاده کنید. - مشکلی که باعث میشد
SO_REUSEADDRبه اشتباه استفاده شود، برطرف شد. برای اطلاعات بیشتر، به جزئیات کامیت مراجعه کنید. - مشکلی که مدتها در شبیهساز ویندوز وجود داشت و باعث میشد زیرفرآیندهایی مانند دستورات ADB در صورت وجود فاصله بین نام کاربری، اجرا نشوند، برطرف شد.
- مشکل مربوط به عدم مقداردهی اولیه RCU در رشتههای HAXM vCPU برطرف شد. این اصلاحیه احتمالاً میتواند برخی از خرابیها و شرایط رقابتی را برطرف کند.
- مشکلی که در الگوهای خاصی از ذخیره و بارگذاری اسنپشاتها از رابط کاربری اسنپشاتها با استفاده از ایمیجهای سیستمی اخیر اندروید Q رخ میداد، برطرف شد.
- مشکلی که باعث میشد دوربین صحنه مجازی هنگام راهاندازی اولیه شبیهساز از یک اسنپشات، در صورت پخش یک ماکروی واقعیت افزوده هنگام ذخیره آن اسنپشات، خالی باشد، برطرف شد.
- مشکلی که باعث میشد برخی از کاربران با تنظیمات ریموت دسکتاپ هنگام اجرای شبیهساز در لینوکس با صفحه سیاه مواجه شوند، برطرف شد. برای جلوگیری از این مشکل، شبیهساز اکنون به طور صریح
MESA_RGB_VISUALرا پیکربندی میکند. برای اطلاعات بیشتر، به جزئیات کامیت مراجعه کنید. - مشکلی که باعث میشد دکمههای چرخش در AVDهای تلویزیونی ظاهر شوند، برطرف شد.
- مشکلی که باعث میشد اگر شبیهساز همیشه در بالا قرار میگرفت، هر بار که شبیهساز میچرخید، پنجره کنترلهای توسعهیافته ظاهر میشد، برطرف شد.
پروفایلهای سختافزاری برای دستگاههای تاشو
این شبیهساز اکنون شامل پروفایلهای سختافزاری برای دستگاههای تاشو است. برای استفاده از این پروفایلهای سختافزاری جدید، باید از اندروید استودیو ۳.۵ Canary 10 یا بالاتر استفاده کنید.
دو پروفایل سختافزاری تاشو وجود دارد که میتوانید برای ایجاد AVD از آنها استفاده کنید:
- ۷.۳ اینچ تاشو: ۱۵۳۶x۲۱۵۲ در حالت باز، ۴.۶ اینچ ۸۴۰x۱۹۶۰ در حالت تا شده
- ۸ اینچ تاشو: ۲۲۰۰x۲۴۸۰ در حالت باز، ۶.۶ اینچ ۱۴۸۰x۲۴۸۰ در حالت تا شده
وقتی شبیهساز را با استفاده از یکی از این پروفایلهای سختافزاری اجرا میکنید، میتوانید دستگاه را با استفاده از اقدامات تا کردن و باز کردن در نوار ابزار شبیهساز، دستورات کنسول یا میانبرهای صفحهکلید زیر، تا و باز کنید:
- تا کردن:
Ctrl + F(در macOS،Command + F) - باز کردن:
Ctrl + U(Command + Uدر macOS)
ماکروهای واقعیت افزوده
این شبیهساز اکنون شامل ماکروهای AR است که میتوانند به شما در آزمایش اقدامات رایج AR کمک کنند. به عنوان مثال، میتوانید از یک ماکرو برای تنظیم مجدد تمام حسگرهای دستگاه به حالت پیشفرض آنها استفاده کنید.
برای اطلاعات بیشتر، به بخش «آزمایش اقدامات رایج AR با ماکروها» مراجعه کنید.
پشتیبانی از ولکان (ویندوز، لینوکس)
کاربران ویندوز و لینوکس اکنون میتوانند برنامههای Vulkan را با شبیهساز اندروید تا نسخه Vulkan 1.1، هنگام استفاده از یک تصویر سیستم سازگار (Android Q Beta 3 یا بالاتر برای Vulkan 1.1، Android Q Beta 2 برای Vulkan 1.0) و یک پردازنده گرافیکی میزبان سازگار (این شامل اکثر پردازندههای گرافیکی Intel، NVIDIA و AMD از سال ۲۰۱۴ به بعد میشود) آزمایش کنند.
برای فعال کردن پشتیبانی از Vulkan، باید feature flag های زیر را به فایل ~/.android/advancedFeatures.ini خود اضافه کنید (در صورت وجود نداشتن، فایل را ایجاد کنید):
-
Vulkan = on -
GLDirectMem = on
پشتیبانی اولیه برای توسعهدهندگان ROM
توسعهدهندگان رام که در حال ساخت فایلهای sdk_phone_x86 یا sdk_phone_x86_64 ( userdebug ، eng variants) در شاخه master AOSP هستند، اکنون میتوانند یک شبیهساز با قابلیت Vulkan را اجرا کنند.
این پشتیبانی هنوز آزمایشی است و عمدتاً برای توسعهدهندگانی است که روی تصاویر سیستم، درایورها و موتورهای بازی کار میکنند. بسیاری از افزونهها هنوز پشتیبانی نمیشوند. با این حال، حافظه HOST_COHERENT پشتیبانی میشود و اکنون باید بتوانید نمونههای آموزشی Vulkan API را اجرا کنید.
اگر از لینوکس استفاده میکنید، میتوانید با استفاده از دستورات زیر این کار را امتحان کنید:
mkdir aosp-mastercd aosp-masterrepo init -u https://android.googlesource.com/platform/manifest -b master --depth=1repo sync -c -j12. build/envsetup.shlunch sdk_phone_x86_64-userdebugmake -j12emulator -no-snapshot -feature Vulkan,GLDirectMem
رندرینگ اسکیا با Vulkan
پردازندههای گرافیکی NVIDIA و AMD که از Vulkan پشتیبانی میکنند، از طریق افزونه GL_EXT_memory_objects از تعامل بدون کپی با OpenGL نیز پشتیبانی میکنند. این شبیهساز از این قابلیت برای ارائه روشی کامل برای رندر رابط کاربری اندروید با استفاده از APIهای Skia Vulkan بهره میبرد.
اگر پردازنده گرافیکی NVIDIA یا AMD دارید که از Vulkan پشتیبانی میکند، از دستورات زیر برای آزمایش رندر Skia با یک تصویر سیستم سازگار (Android Q Beta 3 و بالاتر) استفاده کنید:
adb shellsusetprop debug.hwui.renderer skiavkstopstart
پشتیبانی macOS از Vulkan
پشتیبانی از macOS هنوز آزمایشی است، اما این شبیهساز از قبل شامل APIهای Swiftshader ، MoltenVK و libportability ( gfx-rs ) است. میتوانید با تنظیم متغیرهای محیطی زیر، این APIها را آزمایش کنید:
- سویفتشیدِر:
ANDROID_EMU_VK_ICD=swiftshader - MoltenVK:
ANDROID_EMU_VK_ICD=moltenvk - قابلیت حمل:
ANDROID_EMU_VK_ICD=portability
مشکلات شناخته شده
HAXM گاهی اوقات نمیتواند حافظه منسجم Vulkan را به مهمان نگاشت کند و شبیهساز را خاموش میکند. این مشکل در بهروزرسانی بعدی HAXM برطرف شده است.
شبیهساز استریم gRPC (لینوکس)
ما همیشه در تلاشیم تا با فراهم کردن امکان رندر و تعامل با پردازنده گرافیکی میزبان در وسیعترین طیف از زمینههای اجرایی، شبیهساز را تا حد امکان انعطافپذیر کنیم. کاربران CI و ریموت دسکتاپ ما مشکلات قدیمی زیر را دارند:
- ارسال دستورات ورودی از طریق برنامهنویسی به شبیهساز شامل اجرای دستورات adb shell است که میتواند سربار بالایی داشته باشد، یا استفاده از کنسول telnet که سریعتر است، اما ممکن است با پیکربندیهای خاص شبکه کار نکند.
- کاربران CI اغلب شبیهسازها را بدون سر (headless) اجرا میکنند، که میتواند تشخیص مشکلاتی که نیاز به قابل مشاهده بودن یا تعاملی بودن صفحه نمایش دارند را دشوار کند.
- کاربران دسکتاپ از راه دور اغلب نمیتوانند هنگام استفاده از رندرینگ GPU میزبان با شبیهساز تعامل داشته باشند، زیرا رندرینگ GPU اغلب به نمایشگرهای غیر مجازی میزبان گره خورده است.
برای رفع این مشکل، هنگام اجرا روی یک دستگاه لینوکس، شبیهساز اکنون یک سرویس gRPC ارائه میدهد. gRPC یک چارچوب کلی برای RPC است که روی HTTP کار میکند.
به طور پیشفرض، سرویس gRPC شبیهساز غیرفعال است، اما میتوانید این سرویس را با استفاده از گزینه خط فرمان زیر فعال کنید، که در آن <port> پورتی است که شبیهساز باید درخواستهای gRPC را ارائه دهد (معمولاً 5556 ):
-grpc <port>
پس از شروع سرویس، دستورات gRPC میتوانند از طرف کلاینتها صادر شوند. مجموعه دستورات فعلی امکان ارسال رویدادهای ورودی و دریافت اسکرینشات را فراهم میکنند. این دستورات به رفع مشکلات زیر کمک میکنند:
- دستورات ورودی را میتوان با سربار کم از طریق HTTP به شبیهساز ارسال کرد. HTTP همچنین امکان ارسال دستورات را در پیکربندیهای شبکه اضافی فراهم میکند.
- دستورات اسکرینشات میتوانند برای پرسوجو از صفحه فعلی ارسال شوند، حتی اگر شبیهساز بدون نیاز به اجرا باشد. برای تعامل، رویدادهای ورودی نیز میتوانند به شبیهساز ارسال شوند.
- کاربران دسکتاپ از راه دور میتوانند شبیهساز را بدون نیاز به اتصال به کامپیوتر و با رندرینگ شتابیافته توسط پردازنده گرافیکی (GPU) روی نمایشگر اصلی اجرا کنند و در عین حال از gRPC برای دریافت اسکرینشات و ارسال رویدادهای ورودی به منظور تعامل با شبیهساز استفاده کنند.
برای فهرست کاملی از دستورات موجود، به این protobuf مراجعه کنید.
برای کمک به شما در شروع کار با gRPC، چند کلاینت نمونه ارائه کردهایم که میتوانید به آنها مراجعه کنید.
در حال حاضر، این شامل نمونههای زیر است:
- یک سرویس مبتنی بر Go که میتواند برای پرسوجو از وضعیتهای شبیهساز استفاده شود.
- یک برنامه React که تعامل از راه دور را از طریق اسکرین شات و RPC های ورودی نشان میدهد. این نمونه به protobuf نسخه 3.7.0 یا بالاتر نیاز دارد.
- یک نمونه پایتون که پیکربندی ماشین مجازی شبیهساز را بررسی کرده و سپس مجموعهای از دستورات را ارسال میکند.
۲۸.۰.۲۵ (۲۹ مارس ۲۰۱۹)
این بهروزرسانی شامل بهبودها و اصلاحات زیر است:
ساخت شبیهساز بدون سر
راهاندازی این شبیهساز با داکر و سایر گردشهای کاری یکپارچهسازی مداوم (CI) دشوار بوده است، زیرا انتظار میرود سیستم بتواند از Qt به همراه وابستگیهای کتابخانه مشترک آن (و سایر مشکلات) پشتیبانی کند.
به عنوان اولین قدم برای حل این مشکل، ما نوعی از لانچر شبیهساز با فایلهای اجرایی QEMU را معرفی کردهایم که به Qt وابسته نیست. در لینوکس، هنوز پیوندی به libX11 وجود دارد، اما امیدواریم که آن را نیز به زودی حذف کنیم.
برای استفاده از شبیهساز headless، شبیهساز را طبق معمول از خط فرمان اجرا کنید، اما فراخوانی باینری شبیهساز را با emulator-headless جایگزین کنید. برای اطلاعات بیشتر، به بهروزرسانی نسخه 28.1.8 Canary مراجعه کنید.
- مشکل پرش تصویر و نمایش نادرست فریم در پردازندههای گرافیکی اینتل هنگام اجرای ایمیجهای سیستم اندروید Q برطرف شد.
- مشکل نمایش صفحه سیاه هنگام استفاده از تصاویر سیستمی اندروید Q با پوستههای Pixel 2 XL برطرف شد.
- اکنون از جدیدترین فایلهای بایوس برای راهاندازی شبیهساز استفاده میشود. این تغییر میتواند به کاهش خطاهای "درخواست خاموش کردن vCPU" که گاهی اوقات هنگام راهاندازی شبیهساز در ویندوز رخ میدهد، کمک کند.
- رفع مشکل «نمایش اشتباه هنگام از سرگیری تصاویر سیستم اندروید Q از یک اسنپشات» به نسخه قبلی منتقل شد.
- کاربران به دلیل تغییر ناسازگار در ADB در platform-tools 28.0.2 با مشکلات شبیهسازهای "غیرمجاز" مواجه بودند. اکنون میتوانید با خیال راحت از ADB از platform-tools 28.0.2 به همراه شبیهساز استفاده کنید. اگر با شبیهسازهای "غیرمجاز" مشکل دارید، مراحل عیبیابی زیر را انجام دهید:
- از همه شبیهسازها خارج شوید.
- هر دو فایل
~/.android/adbkeyو~/.android/adbkey.pubرا حذف کنید. - دستور زیر را اجرا کنید:
adb kill-server - دستور زیر را اجرا کنید:
adb devices - اطلاعات AVD را پاک کنید.
- شبیهساز را دوباره اجرا کنید.
۲۸.۰.۲۳ (۲۹ ژانویه ۲۰۱۹)
این بهروزرسانی شامل بهبودها و اصلاحات زیر است:
ورودی صدای میزبان به طور پیشفرض غیرفعال است
اخیراً پستی در ردیت منتشر شده که به تفصیل توضیح میدهد چگونه سیستمعامل اندروید مهمان همیشه از صدای میکروفون میزبان استفاده میکند و در نتیجه به «Ok Google» اجازه میدهد بهطور غیرمنتظرهای کار کند. ما از این بابت متاسفیم و با تیم اندروید همکاری خواهیم کرد تا مطمئن شویم تشخیص کلمات کلیدی در تصویر سیستم نیز غیرفعال است.
برای رفع این مشکل، تغییرات زیر را اعمال کردهایم:
- دادههای صوتی میزبان اکنون به طور پیشفرض حذف میشوند. وقتی مهمان از میکروفون استفاده میکند، به جای صدای میزبان، سکوت پخش میشود.
- اگر میخواهید از دادههای صوتی میزبان استفاده کنید، اکنون میتوانید با رفتن به Extended Controls > Microphone و فعال کردن گزینهی Virtual microphone uses host audio input ، آن گزینه را فعال کنید. این گزینه هر زمان که شبیهساز مجدداً راهاندازی شود، بهطور خودکار غیرفعال میشود.
بهروزرسانیها در مورد بررسیهای استفاده از CPU
در طول تحقیقات پروژه Marble، متوجه شدیم که استفاده زیاد از CPU در شبیهساز عموماً در سه دسته زیر قرار میگیرد:
در حالت غیرفعال: بهروزرسانیهای خودکار برنامهها در تصاویر فروشگاه Play
ما دریافتیم که در فواصل تصادفی، تمام برنامههای نصب شده بهروزرسانی میشوند، حتی زمانی که کاربر وارد سیستم نشده باشد. در طول این فرآیند، میزان استفاده از CPU در GMSCore و dex2oat به تعداد هستهها x 100% (معمولاً حدود ۴۰۰%) افزایش مییابد. میتوانید با غیرفعال کردن بهروزرسانیهای خودکار برنامهها در برنامه Play Store، این مشکل را کاهش دهید.
در حالت بیکار: تشخیص کلمات کلیدی
وقتی در صفحه اصلی هستید و هیچ برنامهای در پسزمینه نیست، ممکن است مقدار زیادی از CPU استفاده شود (حدود ۲۵٪ با افزایش ناگهانی تا ۵۰٪). این به دلیل تشخیص کلمات کلیدی است که دائماً میزبان را پینگ میکند. شما نمیتوانید این مشکل را با غیرفعال کردن ورودی صدای میزبان کاهش دهید زیرا هزینه CPU در درجه اول به دلیل زمانی است که طول میکشد تا از میزبان به مهمان برسد. با این حال، میتوانید با لغو مجوزهای میکروفون از برنامه Google این مشکل را کاهش دهید.
در حالت فعال، گاهی اوقات در حالت غیرفعال: انیمیشنها
سومین منبع مصرف بالای CPU، انیمیشنها هستند. ما دریافتهایم که با بهینهسازی پشته درایور گرافیکی، میتوانیم مصرف CPU را حتی زمانی که شبیهساز بیکار نیست نیز کاهش دهیم. ما بهینهسازیهای درایور گرافیکی را به تدریج به عنوان بخشی از پروژه Marble ارائه خواهیم کرد.
۲۸.۰.۲۲ (۲۱ دسامبر ۲۰۱۸)
این بهروزرسانی شامل بهبودها و اصلاحات زیر است:
- مشکلی که مدتها پیش وجود داشت و باعث میشد در برخی تنظیمات، شبیهساز مک هنگام ذخیره Quickboot، ریبوت شود یا کرنل پنیک شود، برطرف شد. ( شماره 120951634 )
- هنگام استفاده از یک فایل نگاشتشده به عنوان عکس فوری RAM، شبیهساز اکنون نگاشت فایل را به طور صریح در هنگام خروج از حالت نگاشت خارج میکند.
۲۸.۰.۲۰ (۱۱ دسامبر ۲۰۱۸)
این بهروزرسانی شامل بهبودها و اصلاحات زیر است:
- مشکلی که باعث میشد شبیهساز در ویندوز هنگام بارگذاری اسنپشات با مدلهای خاصی از پردازندههای گرافیکی اینتل هنگ کند، برطرف شد.
- مشکلی که باعث میشد هنگام استفاده از مکان غیراستاندارد
ANDROID_SDK_HOMEوضعیت دستگاه ADBunauthorizedشود، برطرف شد. - مشکلی که باعث میشد شبیهساز در ویندوز هنگام بوت شدن تصاویر سیستم با غیرفعال بودن شتابدهنده CPU از کار بیفتد، برطرف شد.
- مشکل نمایش پیکسلی شبیهساز برطرف شد. اکنون نمونهبرداری کاهشی باید کار کند.
- مشکلی که در macOS 10.14+ وجود داشت و در آن کنترل نگاه ماوس دوربین صحنه مجازی به دلیل تعامل با تنظیمات امنیتی دسترسی جدید، میتوانست بیش از حد حساس شود، برطرف شد.
- خطایی در محاسبه منطقه زمانی که میتوانست باعث تغییر گاهبهگاه ساعت شبیهساز شود، برطرف شد.
- خطاهای رندرینگ در برنامههای مختلف cocos2d و Unreal engine برطرف شد.
- پشتیبانی از وایفای نظیر به نظیر در شبیهساز اضافه شد. دو شبیهساز اکنون میتوانند در صورت استفاده از آخرین نسخه ایمیج فروشگاه Play پای، مستقیماً از طریق وایفای با یکدیگر ارتباط برقرار کنند. برای استفاده از وایفای نظیر به نظیر، دو AVD را با آرگومانهای
-wifi-server-portو-wifi-client-portیکسان اجرا کنید:-
emulator @<server-avd-name> -wifi-server-port 9999 -
emulator @<client-avd-name>-wifi-client-port 9999
-
- پشتیبانی از وبکمهای بیشتر در ویندوز با در نظر گرفتن اندازههای ناسازگار فریم و تغییر اندازه پویای آنها برای تطبیق با تنظیمات دوربین در مهمان اندروید، اضافه شد.
۲۸.۰.۱۶ (نوامبر ۲۰۱۸)
این بهروزرسانی شامل چندین ویژگی جدید، بهبود ویژگیهای موجود و رفع اشکالات است.
استفاده از منابع
این شبیهساز اکنون بهطورکلی از رم کمتری استفاده میکند، بهویژه هنگام استفاده از تصاویر سیستمی با سطح API 28 یا بالاتر. این تصاویر سیستمی شامل بهبود استفاده از حافظه برای درایورهای گرافیکی سمت مهمان هستند.
علاوه بر این، ما همچنین استفاده از منابع را در زمینههای زیر بهبود بخشیدهایم:
- کاهش استفاده از حافظه شبیهساز در طول تستهای طولانی مدت. اگر هنوز در طول تستهای طولانی مدت با مشکلاتی در استفاده از حافظه مواجه هستید، لطفاً در بخش Issue Tracker یک مشکل ایجاد کنید که مورد استفاده شما را شرح دهد.
- کاهش مصرف CPU هنگام اجرای برنامههای دارای انیمیشن.
- مشکلی که باعث میشد محتوای QEMU AIO در ویندوز نشت کند، برطرف شد.
اجرای همزمان چندین نمونه از یک AVD واحد
اکنون میتوانید چندین نمونه از یک AVD را راهاندازی کرده و آنها را همزمان اجرا کنید. نمونههایی که پس از اولین نمونه راهاندازی میکنید، فقط خواندنی هستند و تغییرات آنها در دیسک مجازی مهمان هنگام خروج حذف میشود.
برای اجرای چندین نمونه از یک AVD به طور همزمان، هر نمونه بعد از نمونه اول را با استفاده از پرچم -read-only از خط فرمان اجرا کنید.
این ویژگی با کپی کردن فایلهای QCOW2 مرتبط با بخشهای قابل نوشتن ایمیج اندروید امکانپذیر است. برای کمک به شما در مدیریت فضای دیسک، ما ابزار خط فرمان qemu-img را نیز همراه کردهایم تا به شما امکان دهد فایلهای QCOW2 را قبل از راهاندازی چندین نمونه، از قبل کامیت کنید.
علاوه بر این، هنگامی که به همراه ویژگی Snapshotهای RAM مهمان File-backed استفاده میشود، چندین نمونه AVD، Snapshot اصلی AVD Quickboot را به عنوان منبع مشترکی از RAM مهمان copy-on-write به اشتراک میگذارند. این ویژگی به این معنی است که نمونهها بخش زیادی از RAM خود را به طور مشترک به اشتراک میگذارند. از این ویژگی برای اجرای تستهایی که به چندین دستگاه برای اجرای موازی نیاز دارند، استفاده کنید.
ما از بازخورد شما در مورد موارد استفاده احتمالی که بخشی از گردش کار تعاملی یا CI معمولی شما هستند، قدردانی میکنیم. لطفاً در Issue Tracker مسائل را ایجاد یا به آنها رأی مثبت دهید.
اسنپشاتهای رم مهمان با پشتیبانی فایل
با پیش تخصیص و نگاشت حافظه مهمان به عنوان یک فایل، شبیهساز اکنون میتواند اسنپشاتهای Quickboot را در زمان اجرا ذخیره کند، به جای اینکه تمام کارها را در هنگام خروج انجام دهد. اگر در حال حاضر هنگام بستن شبیهسازهای خود با زمان ذخیره طولانی مواجه هستید، این ویژگی را فعال کنید تا عملکرد Quickboot خود را بهبود بخشید. به طور پیشفرض، یک اسنپشات Quickboot در هنگام خروج ذخیره میشود و هر بار دوباره بارگذاری میشود، مانند حالت تعلیق و بیدار کردن یک دستگاه واقعی.
از آنجا که حافظه مهمان اندروید (Android Guest RAM) اکنون به طور پیشفرض به صورت خودکار ذخیره میشود، اگر میخواهید یک وضعیت دستگاه را تعریف کنید و بارها و بارها از آن وضعیت بارگیری کنید، باید به شبیهساز بگویید که پس از هر جلسه (session)، تغییرات را نادیده بگیرد. میتوانید این کار را به روشهای زیر انجام دهید:
- هنگام اجرای شبیهساز از خط فرمان، از پرچمهای
-no-snapshot-saveیا-read-onlyاستفاده کنید. - به Extended Controls > Snapshots > Settings بروید و گزینه Auto-save current state را از Quickboot? به No تغییر دهید.
- پس از انتخاب این گزینه، باید شبیهساز را مجدداً راهاندازی کنید. اگر شبیهساز روی ذخیره خودکار تنظیم شده است، میتوانید دستور زیر را برای تنظیم یک نقطه بررسی اجرا کنید:
After you run this command, the emulator Quickboot snapshot will stay at that checkpoint. Run the same command again to load the emulator from your checkpoint.adb emu avd snapshot remap 0
Snapshots that are taken and loaded through the Snapshots UI function as they did before, with no file mapping.
Because this is a large change to how Quickboot works, we would greatly appreciate your feedback on whether it improves Quickboot performance and what kind of issues you encounter when using it. If you experience problems, you can disable this feature by adding the following line to your ~/.android/advancedFeatures.ini file:
QuickbootFileBacked = off
When you start the emulator from a snapshot (either using the -snapshot command line option, or launching from a snapshot in the AVD manager) the emulator disables both auto-saving for Quickboot snapshots and saving Quickboot snapshots on exit. This reduces the chances that the Quickboot snapshot will be unintentionally overwritten, and avoids slow fallback paths that do not use file-backed Quickboot snapshots.
QEMU 2.12
We have rebased our variant of QEMU from QEMU 2.9 to QEMU 2.12. This update includes the following QEMU changes:
- https://wiki.qemu.org/ChangeLog/2.10
- https://wiki.qemu.org/ChangeLog/2.11
- https://wiki.qemu.org/ChangeLog/2.12
Here are some of the notable changes that impact the Android Emulator:
- x86:
gdbstubnow provides access to SSE registers. - Disk images: Image locking is added and enabled by default. Multiple QEMU processes cannot write to the same image as long as the host supports OFD or posix locking, unless options are specified otherwise.
-
qemu-img: qemu-img resizesupports preallocation of the new parts of the image. - QCOW2 shrinking now supported in
qemuandqemu-img.
دسترسیپذیری
- Fixed issues with screen readers and added better support for these tools in the Screen Record and Snapshot UI.
- Made the Quick Boot notification icons more accessible to users who are color blind.
گرافیک
- Fixed an out-of-bounds memory access issue that could occur for OpenGL ES vertex array pointers.
- Some older GPUs did not support OpenGL 2.1 or greater (which is required), or had other reliability issues. These issues could cause the emulator to crash on start, freeze, or be unusable on the default GPU setting. The emulator now automatically switches to the Swiftshader renderer if it detects that these GPUs are in use.
- Fixed an issue that caused the emulator to not post the correct framebuffer if
FBO != 0was bound at the time ofeglSwapBuffers. - Fixed issue where the virtual Android display would only show up in the top left corner. We believe this was due to misconfigured Qt environment variables. The emulator now overrides all Qt scaling-related environment variables.
- Fixed an issue where the emulator crashed in some situations when loading GLES1 apps from a snapshot.
- Fixed concurrency issues in OpenGL and launching render threads that could result in double frees or corrupted data.
- Android Emulator now supports ASTC LDR compressed texture support (
GL_KHR_texture_compression_astc_ldr) for system images that use API level 28 or higher. - Most modern GPUs should now be able to launch the emulator with OpenGL ES 3.x enabled by default without using the
GLESDynamicVersionfeature flag. -
-gpu guest(software rendering in the guest) has been deprecated. System images for API level 28 or higher now automatically switch to using Swiftshader instead (-gpu swiftshader_indirect). - If the emulator is launched from the command line using the
-no-windowflag, the default renderer is now Swiftshader.
مکان
- The emulator can now update bearing along with latitude and longitude position. The magnetometer virtual sensor adjusts itself dynamically to magnetic north by inferring motion when playing back a GPX or KML file.
- Device speed can now be set on the Location page.
- When playing back a GPX or KML file, the speed is set automatically, and is set to zero when the playback ends.
- The altitude is no longer restricted to being between -1,000 and +10,000 meters.
- Fixed an issue where the virtual GPS location would not be updated periodically unless the Extended Controls window was opened at least once.
دوربین
On Windows, more webcams are now supported because the emulator dynamically resizes the camera frames that are delivered from the webcam. This feature also prevents errors in frame delivery from causing the emulator to hang.
فروشگاه پلی
To address issues with running out of disk space on Play Store images, the emulator now automatically resizes the userdata partition to 6 GB when running with a fresh Play Store AVD.
General quality improvements and fixes
- Some users reported that the emulator has been running slow. We identified one possible cause where the temp directory for the emulator ends up with too many stale files inside. As a workaround, the emulator no longer stores ADB liveness check files in that directory. However, it may also help to delete the contents of that folder. The folder is located in one of the following locations, depending on your operating system:
- Windows:
C:\Users\<username>\AppData\Local\Temp\AndroidEmulator\* - macOS or Linux:
/tmp/android-<username>/*
- Windows:
- If the emulator is unable to start due to insufficient free RAM, an error message is now displayed. If you are on Windows and notice that there is RAM free, but you are still unable to start the emulator, the commit charge may have been exceeded. For help with this issue, see the emulator Troubleshooting page .
- The
-sysdircommand line option now properly overrides the inferred system image directory. - Virtual modem now supports the model activity info
+MAIquery. - Fixed various issues with memory leaks, memory corruption, and CPU usage. If you are experiencing crashes, memory leaks, or other high resource usage, please create an issue in Issue Tracker .
- Fixed an issue that reappeared on macOS 10.14 where using Bluetooth headsets with the emulator would degrade audio globally. To prevent this, the emulator now avoids using Bluetooth audio when running on macOS. ( Issue 37070892 )
- Fixed an issue on Windows where the emulator clock would not be in the correct timezone.
- Fixed emulator slowness and hangs on Linux systems with spinning harddrives (HDDs).
- Fixed some compile warnings that could lead to stack corruption on macOS.
- Fixed issues that could result in misleading reports of hanging.
- Fixed an issue with destroying thread pools that could cause a crash if one of the threads was not successfully created.
- Fixed an issue on macOS where timers would become unreliable, leading to hangs and other strange behavior. If you experience emulator hangs on macOS, please create an issue in Issue Tracker .
- Fixed an issue where closing the emulator would disable the UI, but not actually close the emulator.
- Fixed issues involving sporadic crashes, including an abort due to opening too many instances of
/dev/urandom. - Fixed an issue that caused the emulator to fail to start after the first time if ADB was terminated forcefully.
- The MIPS build has been removed. If you still require MIPS, please create an issue in Issue Tracker .
- Fixed an issue where ADB connections could become corrupt on snapshot load.
- Fixed an issue where the emulator window would have an afterimage or teleport offscreen when resuming a snapshot where the device orientation was different from the AVD's default orientation.
- Fixed issues involving crashes when saving snapshots.
- On Linux, btrfs filesystems can cause extreme slowdowns because the emulator automatically saves snapshots and uses copy-on-write for its virtual disk devices. We recommend cleaning out the
~/.android/avddirectory and running the following command on the empty~/.android/avddirectory: This creates new snapshots in a folder where copy-on-write is disabled.chattr +C
HAXM 7.3.2
We would like to mention HAXM 7.3.2 again because it must be installed in order for recent system images to run properly on the emulator. HAXM 7.3.2 should already be available in the Stable channel, and can also be installed manually from https://github.com/intel/haxm/releases .
Here are a couple of the issues that this version of HAXM resolved:
- Fixed random crashes of guest OSes that use a recent Linux kernel (>= 4.6). For example, Ubuntu 18.04 ( #39 , #74 ).
- Fixed an x86 instruction emulator bug that could lead to a host crash ( #93 ).
32-bit Windows deprecation
Due to low usage and high maintenance costs, we are planning to deprecate the 32-bit version of the Android Emulator that runs on Windows. We will roll out a transition plan before removal and end-of-life for the 32-bit version of the Android Emulator. However, we are actively seeking any feedback or concerns with this future change.
Please let us know in Issue Tracker if you currently rely on the 32-bit version of the Android Emulator that runs on Windows and tell us how we can best work with you going forward.
27.3.10 (August 2018)
This update includes the following bug fix:
RAM size configuration fix
Some users reported that the emulator has been running slow. We identified one possible cause where the AVD RAM size in the AVD's config.ini file was being set incorrectly.
To mitigate this, the emulator increases the minimum RAM level for images that use API level 26 or higher to the Android Studio default level of 1536 MB. If your AVD's config.ini file is not listing hw.ramSize in megabytes, please create an issue in Issue Tracker . You can find the config.ini file in the following location:
~/.android/avd/<avdname>.avd/config.ini
27.3.9 (July 2018)
This update includes the following improvements and bug fixes:
Improved error messages for Windows Hypervisor Platform
Some users were having difficulty diagnosing why the Windows Hypervisor Platform (WHPX) failed to initialize when they activated a WHPX emulator. To help you diagnose these issues, we have added more informative error messages. You can enable these error messages by running the emulator from the command line using the -verbose flag.
اصلاحات عمومی
- Fixed OpenGL errors that occur when loading a snapshot in the camera app.
27.3.8 (July 2018)
این بهروزرسانی شامل چندین ویژگی جدید، بهبود ویژگیهای موجود و رفع اشکالات است.
عکسهای فوری
You can now save multiple AVD snapshots for a given device configuration and choose which of the saved snapshots to load when you start the emulator.
Starting with Android Studio 3.2 Canary 13, each device configuration includes a control in the advanced settings in the Virtual Device Configuration dialog with which you can you can specify which AVD snapshot to load when starting the AVD.
To accommodate this expansion of the snapshot features, we have added a Snapshots category to the Extended controls dialog. This new pane contains controls for saving and loading AVD snapshots, including the controls for saving and loading the quick-boot snapshot that had previously been in the Settings pane.
You can edit the name and description of each saved snapshot.
For details, see Snapshots .
HAXM 7.2.0
HAXM 7.2.0 is now available in all channels.
This update includes bug fixes and improved support for large amounts of RAM. Also, with this HAXM update and Emulator 27.3 and later, snapshots load their contents into RAM on demand rather than loading the entire snapshot when the virtual device starts. This change should greatly decrease the time needed to load a snapshot.
For details, see Configuring VM acceleration .
27.2.9 (May 2018)
این بهروزرسانی شامل چندین ویژگی جدید، بهبود ویژگیهای موجود و رفع اشکالات است.
ضبط صفحه نمایش
You can now record video and audio from the Android Emulator and save the recording to a WebM or animated GIF file.
The screen recording controls are in the Screen record tab of the Extended Controls window.
Tip: You can also open the screen recording controls by pressing Control + Shift + R (Command + Shift + R on Mac).
To begin screen recording, click the Start recording button in the Screen record tab. To stop recording, click Stop recording .
Controls for playing and saving the recorded video are at the bottom of the Screen record tab. To save the video, choose WebM or GIF from the menu at the bottom of the tab and click Save .
You can also record and save a screen recording from the emulator using the following command on the command line:
adb emu screenrecord start --time-limit 10 [path to save video] /sample_video.webm
اسکرینشاتها
You can take screenshots from the command line with either of the following commands:
-
screenrecord screenshot [destination-directory] -
adb emu screenrecord screenshot [destination-directory]
Screenshots are saved in PNG format.
Virtual scene camera and ARCore
Developing and testing augmented reality apps (AR) with ARCore is now even easier with the new virtual scene camera, which allows you to experiment with your AR experience within a virtual environment.
For information on using the virtual scene camera in the emulator, see Run AR apps in Android Emulator .
Google Play Store on Pixel device images
The Google Play Store is now enabled for Pixel and Pixel 2 device images. This is indicated in the AVD Manager in Android Studio 3.2 and later with the Google Play logo in the Play Store column. AVDs with Google Play Store enabled have a Google Play tab in the Extended controls dialog that provides a convenient button for updating Google Play services on the device.
عکسهای فوری
You can now load a Quick Boot snapshot without restarting the emulator. To load a snapshot, open the Extended Controls window to the Settings page and click the Load Now button.
We have made many improvements to the loading and saving of snapshots to improve efficiency of resource usage and to minimize the time that each operation takes. If you still experience unusually long saves, please file an issue , providing details of your CPU, RAM, and settings of any antivirus / firewall / security software that is running.
Rendering with Skia
When using images for API 27 or later, the emulator can render the Android UI with Skia , which can render more smoothly and efficiently.
For now, use of Skia requires that you explicitly enable it.
To enable Skia rendering, use the following commands in adb shell:
su setprop debug.hwui.renderer skiagl stop start
دوربین
On Windows, Android Emulator now uses Media Foundation as the webcam back end, which greatly improves performance and frame rate for webcam capture, up to 720p 30 FPS.
On Mac, you can now use webcam0 and webcam1 together.
متفرقه
The -phone-number-prefix command-line option has been changed to -phone-number [number] , which allows setting of the full phone number.
You can now use alphanumeric SMS addresses.
رفع اشکالات
- The Linux version of the Android Emulator is now built using a modern Clang C++ toolchain. This change fixes the issue of the emulator failing to start due to libGL and libstdc++ errors.
- Fixed several causes of crashes and hangs.
- To avoid crashes and hangs caused by not having enough free disk space, the emulator now checks for sufficient free disk space on startup, and will not start unless at least 2 GB is free.
- Fixed an issue that prevented some Unity games from rendering.
- Fixed DNS issue that caused the emulator to be unable to connect to the network.
- Fixed an issue that caused changes to the internal storage allocated to an AVD through the Virtual Device Configuration dialog to not work.
- Fixed an issue of many adb processes being created and not properly shut down.
- Fixed an issue that caused the rotate buttons and other parts of the UI to become unresponsive unless the Extended controls window was open.
- Fixed an issue that caused copy and paste from the host to not work unless the Extended controls dialog was opened at least once.
- The frameless emulator's resize rectangle has been updated to better follow the emulator's visual theme.
- Telephone and SMS are now properly deactivated when airplane mode is on.
- Fixed an issue that caused SMS and cellular functionality to be disabled after loading a snapshot.
- You will no longer receive false warning messages saying
“Unable to open... \pstore.bin. Permission denied.” - Fixed an issue that prevented re-positioning the AVD on some Mac screens.
- Fixed issues with flickering and blank screens on newer MacBook Pro computers when running AVDs with Pixel 2 XL skins.
- Fixed issues with blank screens when switching into zoomed mode while a frameless emulator was active.
- Fixed an issue that caused the device skin and emulator contents to scroll out of sync when zoomed in.
If you are still experiencing hangs or other instabilities, please file an issue .
27.1.12 (March 2018)
This update includes fixes for the following issues:
- Bluetooth audio quality degraded after starting the emulator. ( Issue 37095756 )
- Locations sent to one emulator were sent to all of them. ( Issue 73450633 )
- GPS location set using the console was overridden by values set using Extended Controls > Location in the graphical user interface. ( Issue 73471760 )
If you are still experiencing hangs or other instabilities, please file an issue .
With this update, a current system image, and a preview version of Android Studio, you can use Android Emulator to run augmented reality applications built with ARCore. For detailed requirements and instructions, see Run AR apps in Android Emulator .
27.1.10 (February 2018)
Camera capture resolution
720p frames can now be captured from an attached webcam.
To work with Android 8.1 (API level 27) and higher system images, any attached webcam must have the capability to capture 720p frames.
رفع اشکالات
- Fixed an issue that caused webcam capture to sometimes output a distorted or all-green image.
- Fixed an issue that made it possible to see the following message even when there was no actual hang: "emulator: ERROR: detected a hanging thread 'Qt event loop'. No response for 15000 ms".
If you are still experiencing hangs or other instabilities, please file an issue .
27.1.7 (February 2018)
Frameless emulator window:
By default, emulators with device skin files are now shown without a surrounding window frame. To show the surrounding window frame, enable Show window frame around device in the Settings pane of the Extended Controls window.
Quick Boot improvements to make working with AVD snapshots more efficient:
- You can save an AVD snapshot at any time using the Save Now button in the Settings pane of the Extended Controls dialog box.
- The emulator reduces the time that it takes to save a snapshot in many cases by saving only the difference between the current state and the previously saved snapshot.
For details, see the Quick Boot documentation.
The emulator has been updated to use QEMU 2.9.
Some notable improvements include the following:
- Optimized I/O and finer-grained I/O thread locking for greater performance.
- Fixed bugs since QEMU 2.8 (26.1.4).
- New implementation of the HAXM back end.
See the full list of changes in the QEMU 2.9 change log .
Swiftshader implementation conforming to OpenGL ES 3.0:
The emulator's Swiftshader renderer now conforms fully with OpenGL ES 3.0. For details of the Swiftshader renderer, see the Settings > Advanced section of Extended Controls .
رفع اشکالات
- Fixed an issue where clipboard sharing was not working unless the Enable clipboard sharing option was toggled off and on.
- Fixed a hang when using the Swiftshader rendering back end with low-resolution AVDs.
27.0.5 (January 2018)
ANGLE for rendering on Windows is now disabled by default.
If ANGLE works better for you, you can re-enable it with command line flag
-gpu angle_indirect. Or, open the Extended controls window, navigate to Settings > Advanced , and select ANGLE D3D11 for the OpenGL ES renderer setting.Fixed an issue where Shift+B does not type a capital B character.
27.0.2 (December 2017)
New Quick Boot feature provides faster emulator start times, based on a snapshot of your AVD instance.
Quick Boot is enabled by default for all AVDs. Although the first time you start an AVD it must perform a cold boot (just like powering on a device), all subsequent starts are fast and the system is restored to the state at which you closed the emulator (similar to waking a device).
If you want to control when the emulator saves a snapshot, open the emulator's Extended controls window and click Settings . Here, you can select one of the following settings for Save quick boot state on exit :
- Yes : Always save quick boot snapshot when you close the emulator. This is the default.
- No : Never save quick boot snapshot; always perform a cold boot.
- Ask : Prompt whether or not to save quick boot snapshot when you close the emulator.
Your selection applies only to the currently open AVD.
For more information, see the Quick Boot documentation .
Added support for Mac OpenGL ES 3 (for system images using API level 24 and higher, Google APIs, and the x86 ABI).
For added stability in OpenGL ES 2+ apps, emulator now uses OpenGL core profile if available.
New options for rendering with Swiftshader / ANGLE:
-
-gpu swiftshader_indirect: Faster, more stable variant of Swiftshader that works with Quick Boot. -
-gpu angle_indirect(Windows only): More stable variant of ANGLE D3D that also works with Quick Boot.
The older
-gpu swiftshaderand-gpu angleoptions are now deprecated. In the Extended controls window, the "SwiftShader" and "ANGLE" options for the OpenGL ES renderer setting in Settings > Advanced now use the*_indirectvariants.-
Various other bug fixes.
26.1.4 (August 2017)
This is a minor release with bug fixes and the following improvements to GPU configuration:
- Enable boot animation when running on ANGLE renderer
- Disable GLES3 when running on ANGLE renderer
26.1.3 (August 2017)
This is a minor release with bug fixes, performance improvements, and small feature changes.
- This version is now required to use the latest Android 8.0 system images. They are Treble-compliant , featuring separate
vendor.imgpartitions. - New HAXM 6.2.0 now available (check the SDK Manager) and includes the following updates:
- Improved memory usage. The peak working set of memory pinned by HAXM is no longer equal to the size of the AVD's RAM; instead, memory is paged in on demand. This should help the emulator run more reliably on machines with lower amounts of RAM.
- The emulator with HAXM 6.2.0 can now boot faster on macOS, skipping a lengthy initialization phase.
- Improvements to GPU configuration
- Fixed issues with black screen on boot when performing guest-side software rendering by falling back to host-side software rendering with Swiftshader. Latest revisions of system images for API levels 19 - 25 with Google APIs should have working guest-side rendering.
- Fixed an issue where the emulator was switched to a software renderer due to detecting the presence of older Intel GPUs, but the emulator was actually running on a discrete GPU. Which GPUs will be switched to use ANGLE or Swiftshader rendering is determined as follows:
- Older Intel iGPUs have driver issues on both OpenGL and ANGLE D3D drivers. Users with Intel HD Graphics 3xxx and older will use Swiftshader.
- Some users reported the inability to use API level 25 images because of a bug in which "Pixel Launcher keeps stopping." This seems to be a driver issue in some Intel HD 4xxx models. So they will be switched to use ANGLE automatically.
- For best results with GPU emulation, we recommend either to use a discrete NVIDIA or AMD GPU, or a newer Intel GPU (Iris, HD 5xxx, HD 5xx/6xx).
- Fixed an issue where the emulator would fail to start (OpenGL emulation failed to initialize) if the AVD was configured with
hw.gpu.mode=hostand the emulator was launched in a remote desktop client. - Clarified "OpenGL ES API level (requires restart)" settings; added an option to downgrade from OpenGL ES 3 to OpenGL ES 2 if experiencing issues or needing to test on lower OpenGL ES API levels.
- Mesa renderer is deprecated;
hw.gpu.mode=mesawill now be automatically switched to use Swiftshader on the host.
- Improvements for macOS:
- The emulator is now fully compatible with macOS 10.13 High Sierra through either Hypervisor.Framework or HAXM 6.2.0.
- Hypervisor.framework is now enabled by default on macOS for 32-bit x86 images to improve performance and macOS compatibility. If you experience issues with it specifically, please file a bug report and append
HVF = offto~/.android/advancedFeatures.ini(create this file if it doesn't exist). - Fixed issues with no internet / failure to attach debugger while using Hypervisor.framework.
- To enhance compatibility and performance of webcam capture, the QTKit-based camera capture has been replaced with a buffered one based on AVFoundation.
- Added support for Wi-Fi in some system images (currently only API level 25). An access point called "AndroidWifi" is available and Android automatically connects to it. Wi-Fi support can be disabled by running the emulator with the command line parameter
-feature -Wifi. - Some users raised the concern that the fixed-size Play Store system images did not have sufficient storage. As such, we've increased the size to 2 GB by default (up from 800 MB).
- Added a keyboard shortcut (Ctrl+Shift+U) to open the bug reporting UI page directly from the settings page.
- Fixed an issue where if an older CPU with Intel x86 EPT but without UG was used, the emulator would fail to boot if more than one core was configured.
- Fixed an issue where HyperV would be improperly detected if the emulator was itself running in a Xen hypervisor.
- Fixed an issue where the emulator would crash on start in some Linux configurations.
26.1.2 (July 2017)
This release includes new features and performance improvements.
Added the ability to define a custom HTTP proxy configuration in the extended controls (click More
, and then click Settings and Proxy ). By default, the emulator uses the Android Studio HTTP proxy settings, but this screen allows you to define a manual proxy configuration.
Added VNC support for guest mode GPU so emulator can be remotely viewed and controlled. For example, you can launch the emulator and let VNC listen to port 5901 as follows:
- Execute:
emulator -gpu guest -avd avd_name -no-window -qemu -vnc :1 Open a VNC viewer, such as tightvnc viewer, to connect to port 5901.
To use Mac's built-in screen sharing client, a VNC password is required when launching the emulator. To set a password, use this command:
emulator -gpu guest -avd avd_name -no-window -qemu -vnc :1,password -monitor stdioAnd then enter
change vnc passwordinto the console, and enter a password.
Android O is not currently supported for VNC mode.
- Execute:
Added a File a bug button in the extended controls Help screen (Click More
, and then click Help and Emulator help ). Clicking File a bug opens a dialog where you can see the bug report details such as the screenshot, the AVD configuration info, and a bug report log. You can then save the report for yourself or report emulator issues .Added gyroscope sensor to emulator and virtual sensors panel. This requires a system image with gyroscope support to work (currently API level 24 and 25).
Added host-preferred DNS to Qemu DNS list on Windows, when multiple virtual network interfaces on the host introduce multiple DNS addresses which are not functional for the emulator.
Added experimental macOS Hypervisor.Framework support for 32-bit x86 images on macOS 10.10+ through server flags, which should improve boot time and performance.
- If you experience problems with it, add the line
HVF = offin~/.android/advancedFeatures.ini.
- If you experience problems with it, add the line
OpenGL ES 3.x is now enabled by default for system images and host GPUs that support OpenGL ES 3. Currently, only Android O (API level 26) and Windows/Linux hosts support OpenGL ES 3.
- If you experience problems with OpenGL ES 3, add the line
GLESDynamicVersion = offin~/.android/advancedFeatures.ini.
- If you experience problems with OpenGL ES 3, add the line
Emulator now uses offscreen OpenGL FBOs for all rendering except final display image posting, which should help with color consistency issues across platforms.
After collecting data on sudden emulator slowdown issues, we have determined that the problem may have to do with some interaction between older Intel OpenGL drivers and Windows updates. As such, users with Intel HD 4000, 3000, 2000 (and related GPUs) now have rendering set by default to either a D3D renderer (ANGLE) or Swiftshader (software renderer).
26.0.0 (March 2017)
This release is compatible with API level 26. It also includes a number of performance improvements and bug fixes.
Minor revision 26.0.3 (May 2017)
- Adds online-updateable feature flags for quickly addressing issues stemming from problematic hardware configurations. This allows Google to roll out fixes and features that are dependent on user configurations by updating server-side flags. If you notice issues with specific hardware, please report a bug so we can investigate the problem.
- New support for rotary input for Android Wear API level 25 system images. To emulate the rotary input dial on a Wear device, click the Rotary Input tab on the extended window.
- The Crash Reporting dialog is now resizable and no longer resets When to send crash reports to Ask without input.
- The 32-bit emulator now requires that the maximum AVD RAM size be less than or equal to 512 MB, in order prevent the emulator from running out of room in the 2 GB virtual address space.
- Adds support for absolute paths in emulator images.
- Adds a new tab in the extended window for Google Play Store images that displays the Play Services version and a button to check for updates to Play Services.
- Adds a dropdown to select the OpenGL renderer on the Emulator Settings page. If you are experiencing issues with the OpenGL driver on a Windows machine, try using the ANGLE (D3D11) or ANGLE (D3D9) options (requires a restart). If you are experiencing issues with the OpenGL driver on a non-Windows machine, try using the Swiftshader software renderer (requires a restart).
- Fixes a rare crash on exit when the emulator receives both
exitandminimizecommands. - Fixes a scaling issue when changing displays on a Mac machine. ( Issue 268296 )
- Fixes an issue where the emulator takes 300% of the CPU and holds it after resuming the host computer from sleep or when the emulator has been running for a long time.
- Fixes a crash when the emulator is shutting down.
Updates with HAXM v6.1.1 (March 2017)
Note: HAXM v6.1.1 is available for Mac users through the SDK Manager as of March 30th, and will be available for Windows users soon.
Version 26.0.0 of the Android Emulator supports HAXM v6.1.1, which includes the following updates:
- Enables Performance Monitoring Units (PMU) emulation. ( Issue 223377 )
- Fixes coexistence with VirtualBox and Docker on Macs. ( Issue 197915 )
- Revises the installation error message displayed when the installer fails to detect Intel VT-x on Windows, usually because Hyper-V is enabled.
- Adds support for accelerating the Android Emulator in a Hyper-V-based Windows VM. This update requires that the host Hyper-V instance (the one that manages the Windows VM/guest) use the latest version of Hyper-V with nested virtualization enabled. Hyper-V must be disabled in the guest Hyper-V instance (the Windows VM).
وابستگیها
- Android SDK Platform-Tools revision 25.0.4 or later.
- Android SDK Tools revision 26.0.0 or later.
New features and bug fixes
- Compatible with API level 26.
- Fully GLES 2.0 compliant. Given a host GPU that has conformant desktop OpenGL drivers, the emulator now passes 100% of the Android CTS dEQP-GLES2
mustpasslist . This has been released for API level 24 x86 images (revision 11 and higher) and will soon be included for all system images. - Improved video playback performance. The emulator now stores all video color buffers in host/guest shared memory and performs necessary final YUV to RGB conversion in the GPU. 1080p30 should be well within reach of most systems now. This has been released for API level 24 x86 images (revision 11 and higher) and will soon be included for all system images.
- The emulator now correctly unregisters itself from the
adb deviceslist on exit and closes open TCP ports on Linux machines. - adb connections are now more reliable. A running emulator is detected faster and doesn't go into “offline” or “unauthorized” status anymore.
25.3.0 (March 2017)
As of this release, the Android Emulator will be released separately from the SDK Tools. This release contains a variety of performance improvements, new features, and bug fixes.
Minor revision 25.3.1 (March 2017)
- Fixed a crash occurring on some GPU configurations by disabling GLAsyncSwap by default. This feature was added in 25.3.0 to improve frame timing and frames per second for games and video, but causes the emulator to fail on some unknown machine configurations. You can manually enable it by opening the
android_sdk /emulator/lib/advancedFeatures.inifile and settingGLAsyncSwap = on.
وابستگیها
- Android SDK Platform-Tools revision 24 or later.
- Android SDK Tools revision 25.3.0.
New features and bug fixes
- Updated emulation engine to QEMU 2.7, including all recent bug fixes, improved performance, and new features.
- New IPv6 support.
- The emulator now uses SwiftShader as a pure software renderer on the host.
- Android Pipe performance improvements: Android Pipe, the main communication channel between the emulator and Android OS, is now an order of magnitude faster, has lower latency and offers better multi-threaded performance. This causes a number of performance improvements for the emulator, including:
- Improved ADB push/pull speed.
- Better 3D acceleration support.
- Increased overall responsiveness of the emulator.
- Improved graphics performance.
- The emulator now uses GPU-side buffers (glBindBuffers / glBufferData) when the guest requests them, decreasing CPU overhead in some apps.
- Improved audio support.
- Faster disk I/O: The emulator now uses separate threads to dispatch disk I/O, resulting in lower latency and better throughput (~1.5x sequential I/O speed, ~5x random access I/O speed). This also reduces the number of flushes to disk, resulting in much lower physical device load.
- The emulator now uses sparse files for disk boots on Windows machines, speeding up both first boot and "wipe-data" boots. When creating or resetting an AVD, the emulator now writes 100-200 MB of data to disk, instead of 2 GB or more.
- Various GUI enhancements:
- The emulator now uses Qt 5.7.0, which includes bug fixes and performance improvements.
- UI initialization no longer attempts to load all emulator executables as Qt plugins, so it's dramatically shorter, especially on HDDs.
- UI interactions are now faster and smoother, including rotation, window resizing, and extended controls window loading and closing.
OpenXR™ و لوگوی OpenXR علائم تجاری متعلق به گروه Khronos هستند و به عنوان یک علامت تجاری در چین، اتحادیه اروپا، ژاپن و بریتانیا ثبت شدهاند.