شبیه ساز اندروید همراه با اندروید استودیو موجود است.
نسخه های شبیه ساز قبل از 25.3.0 به عنوان بخشی از ابزار Android SDK توزیع شده است.
برای اطمینان از اینکه آخرین نسخه را دارید، مدیر SDK را برای به روز رسانی بررسی کنید.
برای دانلود نسخه های قبلی شبیه ساز اندروید، به آرشیو دانلود شبیه ساز مراجعه کنید.
برای یادداشتهای انتشار نسخههای شبیهساز قبل از 25.3.0، به یادداشتهای انتشار Android SDK Tools مراجعه کنید.
برای مشکلات شناخته شده و عیب یابی، لطفاً به عیب یابی شبیه ساز مراجعه کنید.
35.4.4 قناری (12 دسامبر 2024)
شبیه ساز جدید اندروید XR
ما یک شبیهساز آزمایشی Android XR برای توسعه و آزمایش برنامههای ساخته شده با Jetpack XR SDK برای هدستها اضافه کردیم. برای کسب اطلاعات در مورد نصب شبیه ساز Android XR و راه اندازی محیط توسعه خود به این راهنما مراجعه کنید.
شبیه ساز Android XR یک ابزار آزمایشی است. با این وجود، تصمیم گرفتیم زودتر با شما به اشتراک بگذاریم - تا به شما اجازه آزمایش زودهنگام را بدهیم. به خصوص در برخی از تنظیمات GPU و درایور ویندوز، منتظر مشکلات باشید. همچنین ممکن است مشکلاتی در مورد آزمایش سازگاری برنامههای تلفن همراه دوبعدی موجود ایجاد شود. بازخورد شما به ما کمک می کند تا اولویت بندی ویژگی های آینده را بهبود بخشیم و راهنمایی کنیم.
تا کنون، شبیه ساز Android XR بر روی تنظیمات HW زیر آزمایش شده است:
- مک (ARM)
- ویندوز 11
- پردازنده گرافیکی nVidia، 4 گیگابایت vRAM، نسخه درایور 553.35 یا بالاتر
- 16 گیگابایت رم یا بیشتر
- 8 هسته یا بیشتر
مسائل شناخته شده
شبیه ساز - ثبات و عملکرد:
- قفل شدن یا از کار افتادن حیاتی سیستم در هنگام بوت یا در حین اجرای برنامه ها ممکن است در برخی از تنظیمات ویندوز رخ دهد. لطفاً با دنبال کردن راهنمای برنامهنویس Android Studio برای فعال کردن WHPX ، مطمئن شوید که Windows Hypervisor Platform (WHPX) فعال است.
- مشکلاتی مانند عدم پاسخگویی عناصر AVD یا UI در لپتاپها پس از یک چرخه تعلیق-رزومه (مانند بستن لپتاپ و باز کردن آن).
- خرابی های گاه به گاه هنگام تغییر برنامه ها از "حالت صفحه اصلی" به "حالت تمام صفحه"
- API های Gemini هنوز در دسترس نیستند. برنامه الگوی شروع Gemini API خراب می شود.
شبیه ساز - شبیه سازی ورودی و خروجی:
- صفحهکلید مجازی برای قسمتهای جستجو و ویرایش ممکن است فقط تا حدی در میدان دید قابل مشاهده باشد
با استفاده از ماوس و صفحه کلید نمی توان عناصر را در جهت z (داخل و خارج از صفحه) جابجا کرد
ناپایداری ورودی صوتی میزبان میکروفون AVD ممکن است منجر به راه اندازی مجدد AVD و خرابی شود.
صدا گاهی ساکن است یا مخدوش می شود.
هنگامی که دوربین به خارج از اتاق نشیمن مجازی منتقل می شود، خطاهای رندر قابل مشاهده است.
تنظیمات ویندوز تیره تر از رنگ های معمولی نمایش داده می شوند.
پس از بیکار ماندن شبیه ساز و قفل کردن صفحه در macOS، صدا دیگر کار نمی کند. (با راه اندازی مجدد شبیه ساز آن را بازیابی می کند.)
هنگامی که دستگاه میزبان Wi-Fi را تغییر می دهد، اتصال شبکه قطع می شود.
با فعال کردن Caps Lock، حروف کوچک همچنان تایپ می شوند.
پیمایش با استفاده از پد لمسی در مک آسان نیست.
پیمایش کلیک و کشیدن روی برخی از عناصر رابط کاربری ممکن است از نظر طراحی کار نکند. اگر نه، از چرخ ماوس برای اسکرول استفاده کنید.
متن تار، رابط کاربری و سایر اشکالات در Chrome در برخی از پیکربندیهای سیستم ویندوز. راه حل احتمالی: فعال کردن WHP .
شبیه ساز - شبیه سازی هواپیماها و لنگرها:
- لنگرها گاهی اوقات در نزدیکی یک مکان دوباره رشد نمی کنند
- شیشه های متحرک ممکن است به دیوارها یا سقف نچسبند
- هواپیماهای شبیه سازی شده با طرح فیزیکی اتاق سه بعدی در حالت عبور مطابقت ندارند
- به طور کلی مناطق محدود برای لنگر انداختن اشیاء در اتاق مجازی
- مصنوع کوچک قابل مشاهده در نمای عبور در ویندوز
- در برخی موارد، قرار دادن لنگرها می تواند برنامه را خراب کند
- هنگام نزدیک کردن برنامهها به زمین در ویندوز، ممکن است خطوط سیاه در بالای برنامهها ظاهر شوند
شبیه ساز - دیگران:
- شبیه ساز فقط در حالت "مستقل" شروع می شود. حالت "Embedded" (UI جاسازی شده) هنوز پشتیبانی نمی شود.
- ورود به سیستم با حسابهای شبیهساز در ویندوز ممکن است باعث هنگ کردن شبیهساز شود
- محتوای UI ویندوز ممکن است پس از تغییر اندازه ناپدید شود (راه حل: فشار دادن دکمه "Home")
- در برنامه JXRCore ActivityPanelTest پانل ثانویه در ابتدا نمایش داده نمی شود
- موارد تنظیمات سریع ممکن است پس از یک دوره طولانی از تنظیمات سیستم ناپدید شوند.
- رابط کاربری شبیه ساز ممکن است در ابتدا خارج از منطقه صفحه نمایش ظاهر شود. اگر چنین است، اندازه پنجره شبیه ساز را کمی تنظیم کنید و باید به جای خود بازگردد.
- ممکن است هنگام استفاده از کنترل دسکتاپ از راه دور Chrome در Windows، شبیهساز راهاندازی نشود
- Open XR تاکنون در شبیه ساز پشتیبانی نمی شود و برنامه های Open XR ممکن است شبیه ساز را خراب کنند.
- هنگام تلاش برای ارسال گزارش اشکال از طریق تنظیمات توسعه یافته Android Studio در ویندوز، شکست های نادر
- نماد «پیمایش به عقب» به درستی در برنامه «تنظیمات» قابل مشاهده نیست تا زمانی که مکاننما در مک به آن نزدیک شود.
- در برخی موارد، ساختمان ممکن است هنگام استفاده از ماژول "Baseline Profile" به عنوان بخشی از پروژه الگوی XR اشتباه کند.
- دسترسی "XR Talkback" تاکنون فقط تا حدی در شبیه ساز ادغام شده است
برنامه نمایش صحنه:
- جابجایی عناصر در Scene Viewer ممکن است باعث خرابی آن شود. برای حل این مشکل، به سادگی موقعیت سر را کمی از موقعیت اولیه خود دور کنید (مثلاً با استفاده از پان، دالی، WASD و غیره) قبل از تلاش برای حرکت دادن عنصر.
- اگر اندازه واقعی مدل سهبعدی کمتر یا بالاتر از محدودیتهای حداقل و حداکثر مقیاس (در حال حاضر به ترتیب روی 20 سانتیمتر و 70 متر تنظیم شدهاند) ویژگی اندازه واقعی 1:1 به درستی کار نمیکند.
- مدل سه بعدی می تواند پس از بارگذاری روی اولین فریم بپرد
35.2.10 (1 اکتبر 2024)
- Pixel AVD های جدید شامل Pixel 9، Pixel 9 Pro، Pixel 9 Pro XL و Pixel 9 Pro Fold اضافه شده است.
- اضافه شدن تصویر سیستم تبلت جدید برای بستنی وانیلی (API 35)
35.1.20 (29 اوت 2024)
- Pixel 8a AVD اضافه شد
- رفع اشکال مختلف برای تاشو
- به روز رسانی Qt و رفع خرابی ها و هنگ های مربوط به qt
- [رفع اشکال] رفع خرابی و فریز کردن ویندوز با برنامههایی که از Vulkan استفاده میکنند
34.2.16 (9 ژوئیه 2024)
- [رفع اشکال] UI ثابت می شود که در Pixel Fold در حین فولد/گشودن رخ می دهد
- [رفع اشکال] نمایش نادرست نسخه اندروید به عنوان پیش نمایش بستنی وانیلی اندروید به جای API 35 در Mac M1.
- [رفع اشکال] شماره 296162661 : ویژگی HasSystem FeaTURE_SENSOR_HINGE_ANGLE در شبیهساز رایانه لوحی Pixel C به درستی برمیگردد
34.2.15 (31 مه 2024)
- رفع خرابی های مختلف مربوط به حالت swangle و پاکسازی تبلیغ کننده
34.2.14 (20 مه 2024)
تست شده با Android Studio Jellyfish Stable Patch 1.
- [رفع اشکال] Snapshot گاهی اوقات روی شبیه ساز تعبیه شده آویزان می شود
- [رفع اشکال] دکمه های «خیر» و «لغو» به درستی روی عکس فوری کار نمی کنند
- [رفع اشکال] دکمه های پد جهت کار نمی کنند
- [رفع اشکال] مشکل مشاهده شده در ویندوز را برطرف کرد که مانع از شروع شبیهساز در برخی شرایط هنگام استفاده از حالتهای GPU با ANGLE میشد، و پیام خطای "Failed to Initialize GL emulation" را در گزارش برمیگرداند. توجه داشته باشید که شروع شبیه ساز توسط خط فرمان با گزینه
-gpu swangle_indirect
ممکن است همچنان این خطا را در این نسخه ایجاد کند. اگر همچنان میخواهید شبیهساز را با استفاده از خط فرمان در ویندوز با رندر گرافیک نرمافزار با این نسخه شروع کنید، لطفاً از-gpu swiftshader_indirect
استفاده کنید. - [رفع اشکال] میانبر مکان روی صفحه کلید یک نقشه غیرقابل استفاده را بارگیری می کند
- [رفع اشکال] هنگام تنظیم مکان، گفتگوی "ذخیره مسیر" وجود ندارد
34.2.13 (30 آوریل 2024)
تست شده با Android Studio Jellyfish Stable.
- به روز رسانی به Qt 6.5.3
- سازگاری برای بهروزرسانیهای Google Maps API مورد استفاده در ویژگیهای مکان در کنترلهای توسعهیافته شبیهساز، که در پایان ماه می انجام میشود.
- رفع خرابی با ضربه زیاد
- اصلاحات مختلف Pixel AVDs
- کتابخانه گرافیکی مورد استفاده برای رندر نرم افزار را به روز کنید
- [رفع اشکال] شماره 225541819 راهاندازی شبیهساز خرابی کروم در x86_64
- [رفع اشکال] شماره 314614435 - سوئیچ
-http-proxy
اشتباه تجزیه شده است
34.1.20 (1 آوریل 2024)
با Android Studio Iguana Stable تست شده است.
- [رفع اشکال] شماره 314614435 : رفع مشکلی که سوئیچ
-http-proxy
اشتباه تجزیه شده است
34.1.19 (7 مارس 2024)
با Android Studio Iguana Stable تست شده است.
- [رفع اشکال] شماره 312677259 : ثابت ماندن صفحه نمایش در شبیه ساز تعبیه شده پس از تغییر اندازه پنجره.
34.1.18 (29 فوریه 2024)
با Android Studio Iguana Stable تست شده است.
- دستگاه هایی به شبیه ساز اضافه شدند از جمله:
- Pixel Fold
- تبلت پیکسل
- پیکسل 8
- پیکسل 8 پرو
- پیکسل 7a
- آزمایش ادغام gRPC: نقاط پایانی gRPC اکنون برای آزمایشهای ابزاری که در داخل شبیهساز اجرا میشوند در دسترس هستند و امکان تست سناریوهای واقعی را فراهم میکنند. این ویژگی به توسعه دهندگان این امکان را می دهد تا از طریق تست های ابزار دقیق اندروید با نقطه پایانی gRPC میزبانی شده توسط شبیه ساز Android به طور ایمن تعامل داشته باشند.
- رفع اشکال مختلف
33.1.24 (28 دسامبر 2023)
تست شده با Android Studio Hedgehog Stable و Iguana Beta 1.
- مشکل وب کم شبیه ساز را که اجازه ضبط صفحه نمایش در فرمت mp4 را نمی دهد، برطرف کنید.
- رفع خرابی شبیهساز در Pixel Fold AVD هنگامی که در حین ضبط صفحه نمایش باز میشود.
- رفع مشکلی که Pixel Fold پوسته تلفن متفاوتی را با صفحهکلید جدا شده نشان میدهد و غیرقابل استفاده است (در Windows، Mac Intel و Linux رفع شد)
- رفع اشکال ظاهری در حسگرهای مجازی در حالت مستقل (در ویندوز، مک اینتل و لینوکس رفع شد)
- ارائه راه حل برای برخی از خرابی ها، به خصوص در هنگام بستن شبیه ساز، رفع شد
33.1.23 (30 نوامبر 2023)
تست شده با Android Studio Giraffe Patch 4 و Hedgehog Stable.
- اجرای جدید تاشو برای شبیهسازی بهتر دستگاه Pixel Fold، با آخرین API 34 کار میکند
- ارتقاء پشتیبان گرافیکی: ما پروتکل gfxstream را برای باطن گرافیک خود پیاده سازی کرده ایم، این بهبود عملکرد کلی گرافیک و پایداری سیستم شما را افزایش می دهد. علاوه بر این، معرفی پشتیبانی از Vulkan 1.3 که با تصویر سیستم با API 34 آغاز می شود
- درخواست ویژگی : گزینه ای برای غیرفعال کردن ژست نزدیک به زوم یا تخصیص مجدد کلید میانبر آن
- [رفع اشکال] شماره 302562962 رفع خرابی وب کم شبیه ساز هنگام استفاده از MacOS sonoma
- [رفع اشکال] شماره 293503871 رفع مشکلی که در آن هنگام راه اندازی مجدد شبیه ساز، تنظیمات «میکروفون» ذخیره نمی شود
- [رفع اشکال] شماره 270386314 رفع خطای انیمیشن که در آن نوار کناری پس از به حداقل رساندن صفحه AVD باز می ماند
- [رفع اشکال] شماره 154896775 رفع اشکال ابزار ارسال
32.1.15 (29 اوت 2023)
تست شده با Android Studio Giraffe Patch 1 و Hedgehog Canary 16.
- مطابق با الزامات GAS HW برای سنسورها در شبیه ساز AAE
- [رفع اشکال] شماره 266201208 پیامک عبری در API 33 ارسال نمیشود
- [رفع اشکال] شماره 257097404 شبیه ساز زمان صحیح را پس از بیدار شدن میزبان در API 29 و 30 نشان نمی دهد
- [رفع اشکال] شماره 228201899 نمیتوان نقشههای گوگل را در کنترلهای توسعهیافته شبیهساز Android مشاهده کرد
32.1.14 (27 ژوئن 2023)
با Android Studio Hedgehog Canary 8، Giraffe Beta 5 و Flamingo Stable تست شده است.
- جهت گیری و اعوجاج دوربین شبیه ساز را برطرف کنید.
- [رفع اشکال] شماره 257097404 "Emulator زمان صحیح را پس از بیدار شدن میزبان نشان نمی دهد". این باگ همچنان برای API 29 و API 30 قابل تکرار است.
- [رفع اشکال] شماره 243456582 "انتشارهای اندروید پس از API 30 ممکن است به درستی در شبیه ساز در ماشین های Mac M1 شروع نشود"
32.1.13 (22 مه 2023)
با Android Studio Hedgehog Canary 2، Giraffe Beta 1 و Flamingo Stable تست شده است.
- پشتیبانی از Pixel Fold و Pixel Tablet AVDs را اضافه کنید.
- مشکل خرابی gLinux را بهبود بخشید.
- [رفع اشکال] شماره 215231636 "Emulator با API بالاتر از API 30 در پردازنده نسل دوازدهم اینتل کار نمی کند".
- [رفع اشکال] شماره 275397905 سطح بالای خرابی در شبیهساز Android M1 هنگام جابجایی مکرر فوکوس مکاننما به داخل و خارج شبیهساز.
- مشکل شناخته شده راه اندازی AVD شماره 281725854 . لطفاً برای اطلاعات بیشتر به عیب یابی شبیه ساز مراجعه کنید.
32.1.12 (21 مارس 2023)
تست شده با Android Studio Giraffe Canary 10، Flamingo RC و Electric Eel Patch 2.
- [رفع اشکال] شماره 267647323 شبکه در شبیه ساز کار نمی کند که از Android Studio شروع شده است
- [رفع اشکال] شماره 268498686 صفحه شبیهساز سوسو میزند
- [رفع اشکال] شماره 270034824 عملکرد شبیه ساز پس از به روز رسانی به نسخه 33.1.1 کاهش یافت
- [رفع اشکال] شماره 225541819 شروع شبیهساز خرابی کروم در x86_64
- [رفع اشکال] شماره 257097404 شبیه ساز زمان صحیح را پس از بیدار شدن میزبان نشان نمی دهد
- اضافه کردن گزارش خرابی برای دستگاه های Apple M1
32.1.11 (8 فوریه 2023)
تست شده با Android Studio Giraffe Canary 2، Flamingo Beta 1 و Electric Eel Patch 1.
- بهینه سازی سرعت شبکه
- پشتیبانی از ماوس در Embedded Emulator
- بهبودهای Virtio-snd
- در حین نصب شبیهساز اندروید، استفاده از سیملینکها را غیرفعال کنید
- رفع خرابی در بررسی شبیه ساز
31.3.14 (13 دسامبر 2022)
با Android Studio Dolphin، Electric Eel RC1 و Flamingo Canary 9 تست شده است.
- [رفع اشکال] خرابی های AVD که هنگام ورود به فروشگاه Play رخ می دهد را برطرف کنید.
31.3.13 (27 اکتبر 2022)
با Android Studio Dolphin، Electric Eel Beta 2 و Flamingo Canary 5 تست شده است.
- [رفع اشکال] شماره 249948338: پارامتر منطقه زمانی کار نمی کند
- [رفع اشکال] شماره 249366543: گزینه Emulator -dns-server بعد از API 31 کار نمی کند
31.3.12 (10 اکتبر 2022)
تست شده با Android Studio Dolphin و Electric Eel Beta 1.
این به روز رسانی شامل بهبودها و اصلاحات زیر است:
- [رفع اشکال] شماره 247843000: خطای مدیریت مسیر نسبی AVD
- اندازه دیسک را برای API 24 و جدیدتر افزایش دهید
31.3.11 (23 سپتامبر 2022)
تست شده با Android Studio Dolphin و Electric Eel Canary 10.
این به روز رسانی شامل بهبودها و اصلاحات زیر است:
- [رفع اشکال] خرابی Embedded Emulator AVD در پنجره Extended Controls
- [رفع اشکال] شماره 183139207: مشکلات صوتی مرتبط با میکروفون فعال کننده شبیه ساز
- [رفع اشکال] شماره 229764024: اشکال لمسی چسبنده AVD که منجر به مشکلات رفتار رابط کاربری می شود
- [رفع اشکال] خطا در راه اندازی API 33 AVD در Mac M1.
- [رفع اشکال] شماره 243053479: سرعت پایین شبکه پس از بهروزرسانی شبیهساز
- [رفع اشکال] شماره 244617627: مکان Maps ناکارآمد در ویندوز و لینوکس
- [رفع اشکال] شماره 232971796: دکمه "تماس با دستگاه" غیرفعال در کنترل های توسعه یافته > صفحه تلفن
- شبیه ساز اندروید را به minigbm به روز کنید
- مهاجرت اسکریپت های ساخت به پایتون 3
31.3.10 (18 اوت 2022)
تست شده با Android Studio Dolphin Beta 5 و Electric Eel Canary 9.
دانلودهای مستقل شبیه ساز اکنون در دسترس هستند. اگر در این آخرین نسخه پایدار با مشکل یا خرابی مواجه شدید، لطفاً یک اشکال را ثبت کنید و نسخهای که قبلاً کار میکرده را از بایگانی دانلود شبیهساز دانلود کنید.
این به روز رسانی شامل بهبودها و اصلاحات زیر است:
- پشتیبانی بهتر از مسیر یونیکد در ویندوز
- مدیریت بهتر خاموش شدن شبیه ساز تا راه اندازی جدید همان AVD موفق شود.
- طراحی AVD تاشو و تنظیمات پیش فرض به روز شده است
- دکمه های شبیه ساز Wear به روز شده است
- بهبود جریان صوتی gRPC
- دستور کنسول شبیه ساز قابل تغییر اندازه اضافه شد
- Chrome Fix برای API 31
- [رفع اشکال] تأیید حساب Google با GmsCore نسخه 21.42.18 انجام نشد
31.2.10 (20 آوریل 2022)
تست شده با Android Studio Dolphin Canary 8 و Chipmunk RC 1.
این به روز رسانی شامل بهبودها و اصلاحات زیر است:
- ابزاری را برای بارگیری توابع Vulkan با فالبک اضافه کنید
- [رفع اشکال] خطای ساخت gcc8 را برطرف کنید
31.2.9 (23 مارس 2022)
تست شده با اندروید استودیو Dolphin Canary 7.
این به روز رسانی شامل اصلاح زیر است:
- [رفع اشکال] هنگام ذخیره عکس فوری در M1، فشار حافظه را نادیده بگیرید
31.2.8 (7 فوریه 2022)
تست شده با Android Studio Bumblebee Patch 1 و Chipmunk Canary 6.
این به روز رسانی شامل بهبودها و اصلاحات زیر است:
- [رفع اشکال] امکان ورود به برنامه ها وجود ندارد
- [رفع اشکال] شماره 215368358: «راهاندازی مجدد adb» در پلتفرم اینتل با «درخواست خاموش کردن vcpu»، avd را از کار میاندازد.
31.2.7 (1 فوریه 2022)
تست شده با Android Studio Bumblebee Patch 1 و Chipmunk Canary 6.
این به روز رسانی شامل اصلاح زیر است:
- [رفع اشکال] خطای حلق آویز شبیه ساز در ماشین های M1.
31.2.6 (20 ژانویه 2022)
با Android Studio Arctic Fox، Bumblebee Beta 4 و Chipmunk Canary 6 تست شده است.
این به روز رسانی شامل بهبودها و اصلاحات زیر است:
- دکمه های سایش به شبیه ساز Wear OS اضافه شد.
- همه ویژگی های خودرو را در تب VHAL قابل ویرایش کرد.
- [رفع اشکال] تأیید حساب Google با GmsCore نسخه 21.42.18 انجام نشد.
- [رفع اشکال] Netshaper به خوبی با VirtioWifi کار نمی کند.
- [رفع اشکال] فرمان کنسول موس رویداد کار نکرد.
- بررسی KVM برای ایجاد AVD محلی اضافه شد.
31.1.3 (18 ژانویه 2022)
این به روز رسانی شامل بهبودها و اصلاحات زیر است:
- پورت های کنسول برای Fuchsia فعال شده است.
- هنگام تغییر اندازه یک پنجره چند نمایشگر، جهت نادیده گرفته می شود.
- Wi-Fi: اضافه شدن پشتیبانی برای فیلتر کردن بسته های unicast بر اساس آدرس مک MAT.
- Wi-Fi: رفع خرابی زمانی که vmnet در حال استفاده است.
30.9.5 (15 دسامبر 2021)
این به روز رسانی شامل بهبودها و اصلاحات زیر است:
- اضافه شدن قابلیت تغییر اندازه آسان به یک پنجره به اندازه دسکتاپ یا تبلت.
- پشتیبانی از ورودی چند لمسی از دستگاه های میزبان سازگار اضافه شده است.
- VirtioWifi: پشتیبانی از شبکه شیر اضافه شده است.
- ورودی چرخشی برای تصاویر سیستم Wear فعال شده است.
- مشکل پیکربندی صوتی gRPC برطرف شد.
- پخش شبیه ساز SensorReplay به روز شده برای پشتیبانی از سنسورهای استاندارد اندروید.
- شبیه ساز را به وسایل جانبی و دستگاه های با استفاده از USB با عبور USB متصل کرد.
30.4.5 (23 فوریه 2021)
این به روز رسانی شامل بهبودها و اصلاحات زیر است:
- macOS: مشکلات مربوط به اعوجاج ورودی صدا برطرف شد.
- اضافه شدن پشتیبانی از virtio-vsock در فضای کاربری.
- تصاویر سیستم آینده از کنسول virtio برای logcat و پیام های هسته استفاده خواهند کرد.
- سرعت رندر Vulkan را افزایش دهید.
- اضافه شدن پشتیبانی از اشکال زدایی فوری در صورت شکست تست.
- virtio-gpu: تعاریف به روز شده برای پشتیبانی از آخرین فهرست منابع حباب.
- اضافه شدن پشتیبانی از عکس فوری برای حمل و نقل گرافیکی نوع 'asg'.
- macOS: اضافه شدن پشتیبانی برای ساخت در برابر macOS SDK 11.1+.
- KVMclock به طور پیش فرض در تصاویر سیستم جدیدتر فعال است.
- پشتیبانی از حسگر ضربان قلب به شبیه سازهای Wear اضافه شده است.
- libportability باطن Vulkan حذف شد.
- پشتیبانی از ویژگی های بیشتر در شبیه ساز مودم اضافه شده است.
30.0.26 (16 اوت 2020)
این به روز رسانی شامل چندین ویژگی جدید، بهبود ویژگی های موجود و رفع اشکال است.
قابلیت تاشو با حسگر لولای مجازی و نمای سه بعدی پشتیبانی میشود
پشتیبانی از سنسورهای لولا برای دستگاه های تاشو اضافه شده است. این به یک تصویر سیستم اندروید 11 و پیکربندی AVD آینده نیاز دارد. نمای سه بعدی تاشو و پارامترهای لولا اکنون با پیش تنظیمات تاشو موجود یکپارچه شده است. برای مثال میتوان موارد زیر را با فایل
config.ini
AVD تاشو 7.3 استفاده کرد: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.ini
hw.sensor.hinge.sub_type = hinge/fold
اکنون در دسترس است. برای مطالعه بیشتر به وبلاگ توسعه اندروید 11 با شبیه ساز اندروید مراجعه کنید.سنسور لولا اکنون به طور پیش فرض فعال است.
اگر یک دستگاه تاشو پیکربندی شده باشد، شبیه ساز اکنون به روز رسانی حسگرهای زاویه لولا و تغییرات وضعیت بدن را برای مهمان ارسال می کند. دستگاههای تاشوی موجود اکنون با فشار دادن دکمههای تا و باز کردن نوار ابزار، زاویه و وضعیت حسگر لولا را بهروزرسانی میکنند.
شبیه ساز برای هاست های ARM64
کد منبع شبیه ساز لینوکس اکنون از کامپایل متقابل از میزبان های x86_64 تا arm64 پشتیبانی می کند و امکان اجرای تصاویر سیستم arm64 را با مجازی سازی KVM فراهم می کند. در حال حاضر، فقط
-gpu swiftshader_indirect
(پردازش میزبان Swiftshader arm64) پشتیبانی میشود، اما مجموعه سازگاری از کتابخانههای میزبان GPU libEGL/libGLESv2 نیز میتواند با جایگزینی lib64/gles_swiftshader با آنها و سپس راهاندازی مجدد با-gpu swiftshader_indirect
استفاده شود. عکسهای فوری نیز ممکن است کار نکنند (-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
پشتیبانی از Apple Silicon در حال انجام است.
پشتیبانی از virtio-gpu
- پشتیبانی از سمت میزبان برای منابع حباب منسجم میزبان virtio-gpu اضافه شده است.
- با توجه به نحوه عملکرد رندر شبیه ساز، ما اکنون virtio-gpu virtqueue را در رشته vcpu پردازش می کنیم (زیرا به هر حال رندر در رشته های دیگر بارگذاری می شود). رندر virtio-gpu در نسخه بعدی تصویر سیستم و شبیه ساز فعال خواهد شد.
- در یک تصویر سیستم آینده، شبیه ساز قادر خواهد بود تمام گرافیک ها را با یک پشته مبتنی بر virtio-gpu اجرا کند.
سایر ویژگی ها و پیشرفت های جدید
- عبور USB اکنون با استفاده از
-qemu -usb -device usb-host,vendorid=<usb-vendor-id>,productid=<usb-product-id>
در ویندوز در دسترس است. (این همچنین باید قبلاً روی لینوکس و macOS کار می کرد) - کتابخانه های WebRTC را به M83 به روز کرد.
- این شبیه ساز اکنون از پخش صدا در کانتینرها از طریق WebRTC پشتیبانی می کند.
- نقطه پایانی لوله داروین حذف شده است.
- رمزگشایی CUDA VPx برای ویدیو اکنون در دسترس است، اگر رمزگشایی CUDA VPx در سخت افزار موجود باشد، از طریق متغیر محیطی
ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1
. - در macOS، SSE 4.1 و 4.2 اکنون از داخل مهمان اندروید در دسترس هستند.
- در macOS، INVTSC اکنون به طور پیش فرض فعال است. این می تواند دقت اندازه گیری زمان را از مهمان بهبود بخشد.
- اکنون ما ردیابی می کنیم که کدام صفحه کنترل توسعه یافته توسط کاربر در متریک انتخاب شده است.
- شبیه ساز لینوکس اکنون از ساعت paravirtualized KVM زمانی که نسخه هسته مهمان >= 5.4 باشد (تصاویر سیستم R یا جدیدتر) استفاده می کند.
- Emulator اکنون از LZ4 برای فشرده سازی هسته های مهمان استفاده می کند و آن را با خط لوله مدرن هسته سازگار می کند.
دستورات کنسول برای به دست آوردن دایرکتوری AVD شبیه ساز، مسیر فایل کشف در مورد استفاده تعبیه شده در استودیو، و مسیر به عکس های فوری اضافه شده است:
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 NoDevice
یا قفل کردن آن با افزودنNoDeviceFrame = on
به~/.android/advancedFeatures.ini
فعال شود.~/.android/advancedFeatures.ini
(اگر از قبل وجود ندارد این فایل را ایجاد کنید).یک مورد کشویی در صفحه سلولی برای روشن و خاموش کردن پشتیبانی اندازهگیری اضافه شده است، این یک گزینه غیرفعال برای تصاویر سیستم قدیمیتر است که از کلید سنجش سنجش 5G پشتیبانی نمیکنند.
- همچنین دستور کنسول را برای همین منظور اضافه کرد:
gsm meter on|off
- همچنین دستور کنسول را برای همین منظور اضافه کرد:
Toolchain/build به C++17 ارتقا یافته است.
رفع: شبیه ساز تعبیه شده
- کلیپ بورد اکنون باید کار کند.
- مشکلی که در آن کاراکترهای بزرگ به صورت حروف کوچک در شبیه ساز ارائه می شدند، برطرف شد.
- رفع توکن کنسول بارگیری از مسیر یونیکد در ویندوز.
- پیغام خطای
SO_REUSEPORT
در لینوکس رفع شد. - مشکل خرابی عکس فوری هنگام ارسال دستورات عکس فوری از طریق gRPC و همچنین هنگام فشار دادن دکمه ذخیره عکس فوری در شبیه ساز تعبیه شده اندروید استودیو برطرف شد.
هنگام استفاده از شبیهساز لینوکس تعبیهشده در استودیو، متوجه شدیم که اگر این کار از طریق دسکتاپ از راه دور Chrome انجام شود، اشکالی وجود دارد که در آن
XDG_RUNTIME_DIR
تنظیم نشده است و ممکن است به دلیل قرار دادن فایلهای کشف شبیهساز درXDG_RUNTIME_DIR
شبیهساز تعبیهشده ظاهر نشود. . میتوانید وضعیت مشکل مربوطه را در ردیاب مشکل Chrome بررسی کنید.به عنوان یک راه حل، شبیه ساز اکنون به استفاده از فایل های کشف در یک فهرست احتمالاً متفاوت که بر اساس UID کاربر است باز می گردد:
/run/user/<uid>
.شبیهساز تعبیهشده: دستگاههایی که گوشهها/بریدگیهای گرد دارند اکنون بهدرستی طرحبندی خود را تغییر میدهند تا جایی برای گوشهها و بریدگیها باز شود. این نیاز به بوت سرد از آن شبیه سازها دارد.
نقطه پایانی gRPC اکنون از ارسال پیامک به دستگاه پشتیبانی می کند.
اصلاحات کلی
- ما شاهد مشکلات سازگاری در اجرای شبیه ساز ویندوز با فعال Riot Vanguard بوده ایم. شبیه ساز ویندوز اکنون ضد تقلب Vanguard را شناسایی می کند و در صورت شناسایی Vanguard یک پیام هشدار ظاهر می کند.
- رفع خطای
FD_SETSIZE
در ویندوز. ما اکنون ازWSAEventSelect()
به جایselect()
برای ایجاد اتصالات غیر مسدود کننده به سرورهای حلقه بک استفاده می کنیم. - اضافه شدن پشتیبانی از ویژگی F16C CPUID به شبیه ساز لینوکس با رفع مشکلات اجرای برخی از برنامه های ARM64 از طریق ترجمه NDK. macOS/Windows در حال انجام است.
- پخش مسیر gpx/kml برای دنبال کردن مُهرهای زمانی ثابت شد.
- نماد جهش ثابت در راه اندازی برای MacOs.
- اگر
hw.audioInput=no
وhw.audioOutput=no
درconfig.ini
، صدای شبیه ساز اکنون به درستی غیرفعال شده است. - مشکلی برطرف شد که در آن اگر پنجره شبیهساز در حالی که پنجره کنترلهای توسعهیافته باز بود اما فعال نبود، به حداقل برسد، پنجره کنترلهای توسعهیافته هنگام تغییر اندازه پنجره شبیهساز همچنان ظاهر میشود. ما رفتار (مورد پنجره کنترل های توسعه یافته فعال) را در یک به روز رسانی آینده به طور کامل حذف خواهیم کرد.
- رفع یک اشکال پوسته پوسته با اتصال Wi-Fi هنگام شروع شبیه ساز.
- هنگامی که شبیهساز دستورات پوسته را با وقفههای زمانی طولانی یا نامحدود صادر میکند، حالت Hang-on-Exit برطرف شد.
- pc-bios به روز شده با اصلاحاتی برای پشتیبانی بهتر از تصاویر بزرگ ارسال شده به
-initrd
. بایوس قبلی از روش بسیار ناکارآمدی استفاده می کرد. - رفع خرابی در حین خاتمه زمانی که از گزینه
-wifi-server-port
استفاده می شود. - در صورتی که گزینه های پشتیبانی نشده به
-prop
منتقل شوند، شبیه ساز اکنون یک هشدار چاپ می کند (فقط props qemu.* پشتیبانی می شود). - هنگام ساخت شبیه ساز در ویندوز، احتمال کمتری برای مشاهده شکست های پوسته پوسته برای نوشتن روی فایل ها وجود خواهد داشت. برای اطلاعات بیشتر، دستورالعملهای ساخت ویندوز را ببینید.
- دکمه زوم غیرفعال برای AVD های تاشو که باعث ایجاد مشکل می شد.
- شبیه ساز اکنون به درستی زمان بوت را از راه اندازی مجدد دستگاه گزارش می دهد.
- لینوکس: در مواردی که مجوزهای KVM کافی وجود ندارد، شبیه ساز اکنون دستورالعمل های اشکال زدایی را سریعتر چاپ می کند.
- مشکلی که شبیه ساز نمی توانست تصاویر اخیر سیستم را بدون شتاب بوت کند، برطرف شد.
- رفع خرابی یا خرابی حافظه هنگام شروع از یک آشکارساز بوت کامل.
- رفع نشت حافظه در طول جلسات ضبط طولانی صفحه.
- نمادهای شبیهساز بهروزرسانی شدند تا نشاندهنده استودیو 4.1 را نشان دهند.
- پشتیبانی بهتر برای تشخیص جلسات از راه دور در ویندوز اضافه شده است.
رفع: گرافیک و رمزگشایی ویدیو
- مشکلی که در آن آخرین بازی Asphalt 9 با صفحه سیاه رندر شده بود برطرف شد.
- هرزنامه مربوط به شستشوی بافر نقشهبرداری شده با
NULL
حذف شد. - وضعیت مسابقه هنگام از بین بردن حالت Vulkan هنگام خروج برنامه مهمان Vulkan برطرف شد.
- سایهزنهای شبیهساز Vulkan ASTC/ETC2 اکنون در کتابخانه libOpenglRender قرار گرفتهاند. این در مقایسه با خواندن از سیستم فایل قابل اعتمادتر خواهد بود.
- مشکلی در Vulkan برطرف شد که در آن اگر با یک نمونه Vulkan 1.0 در هاست اجرا شود،
vkGetImageMemoryRequirements2KHR
به اشتباه فیلدpNext
ساختارVkMemoryRequirements2
برگشتی را پاک میکند. - رفع نشت حافظه در رندر Vulkan.
- یک رگرسیون اخیر که در آن سایهزنهای GLSL ES 1.00 با نام متغیرهایی مانند
isampler2D
نتوانستند کامپایل شوند، برطرف شد. - مترجم سایه زن ANGLE به روز شده با اصلاحات مختلف که خطای احتمالی در کامپایل سایه بان ها در لینوکس را برطرف می کند.
- اکنون در صورتی که سایهزن ساده فریمبافر نتواند کامپایل شود، شبیهساز را خراب میکنیم تا بتوانیم این پدیده را پیگیری کنیم.
- مترجم سایه زن ANGLE به روز شد تا با ANGLE بالادست همراه باشید. این یک مشکل در مورد خرابی حافظه هنگام ترجمه و تا کردن ثابت سایهزنهای OpenGL ES که از ماتریسهای غیر مربعی استفاده میکردند، برطرف کرد. مترجم سایهزن اکنون یک کتابخانه مشترک جداگانه است،
libshadertranslator.dll
. - مشکل در مقداردهی اولیه Vulkan در برخی از درایورهای GPU، که در آن برخی از عملکردهای دستگاه 1.1 یافت نشد، برطرف شد.
- Vulkan: ما دوباره به استفاده از لودر از پیش ساخته شده بازگشتهایم تا سیستمی را که لودر Vulkan مشکلاتی را در برخی تنظیمات ایجاد میکند، مورد استفاده قرار دهیم. راه حل بهتری پیدا خواهد کرد
- مشکل هنگام استفاده از حافظه خارجی Vulkan که میتوانست شاخصهای نامتناسب نوع حافظه را روی میزبان وارد کرده باشد، برطرف شد.
- مشکل در شبیه سازی
GL_ALIASED_POINT_SIZE_RANGE
که در آن enum در هاست پشتیبانی نمی شد، رفع شد. - مشکلی که در برخی از GPU های میزبان، سایه بان های Skia به دلیل خطاهای مربوط به
GL_EXT_shader_framebuffer_fetch
نمی توانستند کامپایل شوند، برطرف شد. - از آنجایی که کپی ما از رندر D3D9 ANGLE چند نسخه پیش حذف شد، اکنون کاربرانی را که در آن رندر بودند در صورتی که در تنظیمات برگزیده UI انتخاب شده بود، به صورت خودکار به d3d11 ANGLE تغییر دهیم.
- اطلاعات دیباگ بیشتر به مقداردهی اولیه WGL در ویندوز اضافه شده است تا خرابی ها را ردیابی کند.
- وقتی
hw.gltransport=virtio-gpu-pipe
، عملکرد با چرخش نکردن روی میزبان در انتقال از میزبان به مهمان بهبود مییابد. - اضافه شدن گزارش اشکال زدایی بیشتر برای زمانی که شبیه سازی OpenGLES نمی تواند مقداردهی اولیه شود.
- مشکل سوسو زدن یا عدم نمایش ویدیوهای یوتیوب در بارگذاری عکس فوری برطرف شد.
- در حال حاضر به رمزگشایی نرمافزاری برای libvpx بازگشتهایم زیرا مشکلاتی را در مورد رمزگشایی سختافزاری CUDA برای libvpx مشاهده کردهایم. اگر یک پیادهسازی رمزگشایی سختافزاری CUDA در سمت میزبان دارید، رمزگشایی سختافزار libvpx میتواند از طریق متغیر محیطی
ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1
دوباره فعال شود.
30.0.10 (30 آوریل 2020)
این به روز رسانی شامل پشتیبانی از اجرای شبیه ساز به طور مستقیم در اندروید استودیو و دستگاه های مجازی با حالت پنجره Freeform به طور پیش فرض فعال است.
شبیه ساز را در اندروید استودیو اجرا کنید
شبیه ساز اندروید اکنون می تواند مستقیماً در Android Studio اجرا شود. از این ویژگی برای حفظ املاک و مستغلات صفحه نمایش، برای پیمایش سریع بین شبیه ساز و پنجره ویرایشگر با استفاده از کلیدهای میانبر، و سازماندهی گردش کار IDE و شبیه ساز خود در یک پنجره برنامه استفاده کنید.
حالت پنجره Freeform
اکنون میتوانید با انتخاب نمایه سختافزار تبلت 13.5 اینچی هنگام ایجاد یک دستگاه مجازی در Android Studio، یک AVD با حالت پنجره Freeform فعال کنید. این نمایه سختافزاری به یک تصویر سیستم با پیشنمایش برنامهنویس Android 11 نسخه 3 یا بالاتر نیاز دارد.
مسائل شناخته شده
تغییر اندازه پنجره های فرم آزاد در حال حاضر به دلیل مشکلات انتقال تمرکز به مدیر پنجره شکسته شده است. این موضوع در نسخه بعدی تصویر سیستم اندروید 11 مورد بررسی قرار خواهد گرفت.
30.0.0 (19 فوریه 2020)
این بهروزرسانی شامل تصاویر سیستم اندروید 11 (سطح API 30) و عملکرد بهبود یافته هنگام اجرای باینریهای ARM است.
تصاویر سیستم اندروید 11
اکنون می توانید با انتخاب یکی از تصاویر سیستم سطح 30 API موجود، یک AVD ایجاد کنید که اندروید 11 را اجرا می کند:
- x86 : شامل هر دو ABI x86 و ARMv7 است.
- x86_64 : شامل x86، x86_64، ARMv7 و ARM64 ABI است.
پشتیبانی از باینری های ARM در تصاویر سیستم اندروید 9 و 11
اگر قبلاً نمی توانستید از شبیه ساز Android استفاده کنید زیرا برنامه شما به باینری های ARM وابسته بود، اکنون می توانید از تصویر سیستم Android 9 x86 یا هر تصویر سیستم Android 11 برای اجرای برنامه خود استفاده کنید - دیگر نیازی به دانلود یک تصویر سیستم خاص نیست. برای اجرای باینری های ARM این تصاویر سیستم اندروید 9 و اندروید 11 به طور پیشفرض از ARM پشتیبانی میکنند و در مقایسه با نمونههایی که شبیهسازی کامل ARM را دارند، عملکرد بسیار بهتری را ارائه میدهند.
مسائل شناخته شده
- برخی از باینری های ARMv7 روی تصاویر سیستم اندروید 11 x86 و x86_64 اجرا نمی شوند. هنگام هدف قرار دادن اندروید 11، ساخت ARM64 را در نظر بگیرید.
29.0.11 (29 مه 2019)
این به روز رسانی شامل بهبودها و اصلاحات زیر است:
- ویندوز: شبیه ساز اکنون به جای کامپایل شدن با
libgcc
به صورت ایستا، به DLLlibgcc
که ما ارسال می کنیم متکی است. - لینوکس: پشتیبانی logcat را به gRPC API اضافه کرد. برای اطلاعات بیشتر در مورد gRPC، به شبیه ساز جریان gRPC (Linux) مراجعه کنید.
- این شبیهساز اکنون شامل یک ساخت هدلس برای مهمانان x86 32 بیتی (
qemu-system-i386
) است. این ویژگی تصاویر 32 بیتی x86 را برای سطوح API 26 و پایینتر قادر میسازد تا با ساخت هدلس اجرا شوند. توجه داشته باشید که برای مهمانان 32 بیتی x86 با API 27 و جدیدتر، شبیه ساز از موتور 64 بیتی (qemu-system-x86_64
) استفاده می کند زیرا در این تصاویر سیستم، در حالی که فضای کاربران 32 بیتی است، هسته 64 بیتی است. Android Studio از هسته برای انتخاب موتورهای شبیه سازی استفاده می کند. - اکنون می توانید مسیرهای کتابخانه Qt سفارشی را با استفاده از متغیر محیطی
ANDROID_QT_LIB_PATH
مشخص کنید. - اگر فایل های اجرایی QEMU1 (
emulator[64]-[x86|arm|etc]
) در دایرکتوری شبیه ساز قرار گیرند، اکنون می توانید شبیه ساز را با باینری های قبلی که از QEMU1 استفاده می کنند، اجرا کنید. - Windows: مشکلی را برطرف کرد که گاهی اوقات باعث میشد شبیهساز با پیام «درخواست خاموش کردن vCPU» شروع نشود.
- مشکل یک مانع غیر ضروری خط لوله در بافت های فشرده شبیه سازی شده در Vulkan برطرف شد.
- خطایی را که با درخواستهای پروکسی http هنگام استفاده از رمزگذاری انتقال تکهتکهای استفاده شد، برطرف شد. برای اطلاعات بیشتر، جزئیات commit را ببینید.
29.0.9 (7 مه 2019)
این به روز رسانی شامل اصلاح زیر است:
- ویندوز: مشکلی که در آن دوربین صحنه مجازی و وبکم روی شبیهساز کار نمیکردند برطرف شد.
29.0.8 (6 مه 2019)
این به روز رسانی شامل بهبودها و اصلاحات زیر است:
- هنگامی که یک سرویس مهمان برای شمارش و تنظیم هر صفحه نمایش وجود دارد، پشتیبانی از چندین نمایشگر سخت افزار مجازی اضافه شده است. چندین نمایشگر سخت افزار مجازی در به روز رسانی تصویر سیستم شبیه ساز آینده گنجانده خواهد شد.
- یک گزینه خط فرمان جدید اضافه شد:
-delay-adb
. این گزینه پردازش بسته های ADB را متوقف می کند تا زمانی که مهمان بوت را کامل کند (خارج از بوت سرد). این گزینه به حل مشکلاتی که ممکن است در صورت استفاده از شبیه ساز در یک محیط CI که شبیه ساز را راه اندازی مجدد می کند و همزمان از DDMS استفاده می کند، رخ دهد، کمک می کند. - خطایی را که هنگام بارگیری عکسهای فوری رخ میداد که در آن
glIsRenderbuffer
مقدار نادرست را برمیگرداند، برطرف شد. - برخی از مشکلات مربوط به حالت بیات در هنگام راه اندازی مجدد مهمان اندرویدی برطرف شد.
- ویندوز: مشکلات ثابت که مانع از شروع شبیه ساز از زمانی که نام کاربری ویندوز دارای کاراکترها یا فضاهای غیر ASCII است ، جلوگیری می کند.
مسائل شناخته شده
- Snapshots UI برای تصاویر سیستم خودرو غیرفعال است زیرا عکسهای فوری در حال حاضر برای این تصاویر سیستم پشتیبانی نمی شوند.
29.0.6 (1 مه 2019)
این به روزرسانی شامل چندین ویژگی جدید ، پیشرفت در ویژگی های موجود و رفع اشکال است.
پشتیبانی از ویندوز QEMU1 و 32 بیتی
برای حفظ بهتر شبیه ساز ، ما دیگر باینری های ویندوز QEMU1 و 32 بیتی حمل نمی کنیم. اگر از ویندوز 32 بیتی استفاده می کنید ، نمی توانید به نسخه 29.0.6 ارتقا دهید.
مورد نیاز برای تصاویر سیستم Android Q
اگر می خواهید AVD را اجرا کنید که از یک تصویر سیستم Android Q استفاده می کند ، اکنون باید از نسخه 29.0.6 (این نسخه نسخه) یا بالاتر استفاده کنید.
پیشرفت مرمر پروژه
این به روزرسانی کار ما را در مورد ابتکار عمل Marble Project که در نوامبر 2018 در اجلاس توسعه دهنده Android اعلام شده است ، ادامه می دهد. برای کسب اطلاعات بیشتر در مورد سایر پیشرفت های مرمر پروژه در نسخه های قبلی ، به Android Emulator: Project Marble Revircements مراجعه کنید.
برای این بروزرسانی ، بیشتر تلاشهای مرمر پروژه ما به کاهش مصرف منابع شبیه ساز مانند کاهش مصرف CPU شبیه ساز در هنگام بیکار بودن اختصاص داده شده است. ما همچنین تغییراتی را شامل می شویم که کار با شبیه ساز را در انواع وسیع تری از محیط ها آسانتر می کند و ما به موضوعات کیفیت کلی پرداخته ایم.
بخش های زیر پیشرفت های سنگ مرمر پروژه را که با این بروزرسانی گنجانده شده است شرح می دهد:
پیشرفت برای رفتار صوتی میزبان
با شروع نسخه 28.0.3 ، شبیه ساز به طور پیش فرض ورودی صوتی را از میزبان مسدود می کند .
اگر می خواهید از داده های صوتی میزبان استفاده کنید ، می توانید با رفتن به کنترل های گسترده> میکروفون و فعال کردن میکروفون مجازی از ورودی صوتی میزبان استفاده کنید . این گزینه هر زمان که شبیه ساز دوباره راه اندازی شود ، به طور خودکار غیرفعال می شود.
اگر از خط فرمان استفاده می کنید ، می توانید با استفاده از گزینه -allow-host-audio
Audio میزبان را نیز فعال کنید ، و می توانید به ترتیب از دستورات ADB زیر استفاده کنید تا داده های صوتی میزبان را روشن یا خاموش کنید:
-
adb emu avd hostmicon
-
adb emu avd hostmicoff
پیشرفت هایی برای ساختار بدون سر
با شروع نسخه 28.0.25 ، شبیه ساز شامل گزینه ساخت بدون سر است که می تواند بدون UI اجرا شود. شما می توانید از ساختهای بدون سر استفاده کنید تا به شما در تنظیم شبیه ساز برای گردش کار داکر و ادغام مداوم (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 UI به 5.12 لیتر ارتقا یافته است
این به روزرسانی شامل پیشرفت های زیر از نسخه QT 5.12 LTS است:
- برای جلوگیری از تصادفات در رمزگشایی
libpng
QT هنگام شروع تصاویر خاص سیستم ، شبیه ساز اکنون از نسخه خود ازlibpng
برای رمزگشایی تصاویر PNG استفاده می کند. - برای پرداختن به مسائل مربوط به برخی از نصب های لینوکس حاوی نسخه های ناسازگار برخی از کتابخانه های وابسته به QT ، اکنون با شبیه ساز بسته بندی
libfreetype
،libsoftokn
،libsqlite3
وlibxkbcommon
بسته بندی می کنیم. - این شبیه ساز اکنون به جای استفاده از کتابخانه های QT که نتایج غیرقابل اعتماد را بازگرداند ، از کتابخانه های بومی پنجره ای برای دریافت ابعاد مانیتور استفاده می کند.
بهینه سازی های اتوماتیک CPU پس از بوت سرد
برای پرداختن به استفاده از CPU ، شبیه ساز پس از دریافت سیگنال boot complete
، دستورات ADB زیر را روی یک بوت سرد اجرا می کند:
-
adb shell settings put screen_off_timeout 214783647
- این دستور باعث افزایش زمان خاموش صفحه نمایش می شود تا از شبیه ساز بدون شارژ در حالت باتری استفاده شود. در حالت باتری ، استفاده از CPU پس زمینه بسیار کاهش می یابد.
- در حالت شارژ AC ، عملیات پس زمینه GMSCORE مانند به روزرسانی برنامه می تواند تمام هسته های CPU دستگاه را به دست بگیرد - و با استفاده از دستگاه کاربر - بدون هشدار.
-
adb shell pm revoke com.google.android.googlequicksearchbox android.permission.RECORD_AUDIO
- این دستور مجوزهای میکروفون را برای برنامه Google Search ابطال می کند ، که باعث می شود میزان استفاده از CPU پس زمینه در صفحه اصلی و در هنگام فعال بودن برنامه جستجوی Google ، میزان استفاده از CPU پس زمینه را کاهش دهد.
- این دستور علاوه بر رفتار پیش فرض شبیه ساز در غیرفعال کردن صدای میزبان برای میزبان اجرا می شود. علاوه بر این ، این به طور خودکار کاهش استفاده از CPU را که برای تشخیص کلمات داغ از نسخه 28.0.23 شرح داده شده است ، فراهم می کند.
متغیرهای جدید محیط برای نظارت بر عملکرد
اکنون می توانید از دو متغیر محیط جدید استفاده کنید تا بتوانید نظارت دقیق بر عملکرد و استفاده از منابع شبیه ساز را انجام دهید.
-
SHOW_PERF_STATS=1
- این متغیر محیط ، ردیابی CPU و RAM را امکان پذیر می کند. ردیابی برای استفاده از RAM بین استفاده از گرافیک و حافظه کل ساکن متمایز است.
-
ANDROID_EMU_TRACING=1
- این متغیر محیط ، چاپ را هر بار که یک عملیات ورودی یا گرافیکی مدت زمان طولانی طول می کشد (طولانی تر از 1 میلی ثانیه) انجام می دهد.
- ما همچنین از این متغیر محیط استفاده می کنیم تا به تشخیص مواردی که کاربران ویندوز با JANK بیشتری تجربه کرده اند (فریم های افتاده) را تجربه کرده اند تا کاربران در MacOS یا Linux تجربه کنند.
پیشرفت های سنگ مرمر پروژه عمومی
این به روزرسانی همچنین شامل پیشرفت های عمومی زیر است که بخشی از طرح سنگ مرمر پروژه است:
- اکنون می توانید بلافاصله تمام VCPU ها را از طریق دستورات کنسول زیر مکث کنید:
-
adb emu avd pause
-
adb emu avd resume
-
- بالای سربار نقاشی OpenGL بسیار کاهش یافته است. این بهبود باعث کاهش مصرف CPU می شود در حالی که شبیه ساز در حال بازی انیمیشن است.
- پشتیبانی ترمیم شده برای دستگاه شبکه مجازی E1000 خط اصلی QEMU. می توانید از این دستگاه برای تنظیم شبیه ساز در یک محیط شبکه پل استفاده کنید. در یک محیط شبکه پل ، شبیه ساز در شبکه میزبان نشان داده شده است و شبکه میزبان در شبیه ساز نشان داده شده است.
- از باینری های BIOS متناسب با QEMU 2.12 برای راه اندازی شبیه ساز استفاده می شود.
- نسخه
ffmpeg
را برای رمزگذاری و رمزگشایی ویدیویی به 3.4.5 ارتقا داد. - با تعویض حلقه اصلی که بر اساس
select()
با یک حلقه اصلی است که مبتنی برkqueue
است ، به شدت کاهش یافته است. - اندازه بافر Logcat به 2 مگابایت افزایش یافته است تا مشکلات مربوط به EOF غیر منتظره پوسته پوسته هنگام اجرای LogCat با شبیه ساز را برطرف کند.
- اکنون شبیه ساز به طور پیش فرض متغیر محیط
LC_ALL=C
را صادر می کند. این تغییر به تصادفات و مسائل ناسازگاری مرتبط با اجرای شبیه ساز در مناطق مختلف می پردازد. - اکنون می توانید با استفاده از آمار عملکردی که می توانید در کنترل های گسترده> تنظیمات> پیشرفته> آمار عملکرد به آن دسترسی پیدا کنید ، می توانید استفاده از CPU و RAM از شبیه ساز را ردیابی کنید. اگر به نظر می رسد شبیه ساز از CPU یا RAM بیش از حد استفاده می کند ، از این آمار استفاده کنید.
-
glReadPixels GL_IMPLEMENTATION_COLOR_READ_TYPE
اکنون از نتیجه GPU میزبان به جای یک تقلید شده استفاده می کند. این تغییر به رفع مشکلات کمک می کند که تصاویر و دارایی ها به دلیل فرمت نادرست برای بازخورد نمایش داده نشوند. - پشتیبانی اضافه شده برای پسوند OpenGL ES
GL_EXT_texture_format_BGRA8888
وGL_APPLE_texture_format_BGRA8888
در صورت پشتیبانی از میزبان. - اطلاعات تشخیصی بیشتر به UI Bugreport اضافه شده است. علاوه بر این ، می توانید با استفاده از دستورات زیر به گزارش های اشکال از کنسول دسترسی پیدا کنید:
-
telnet localhost 5554
-
avd bugreport
-
- در تصاویر سیستم Android Q ، شبیه ساز حداقل اندازه رم خود را به 2 گیگابایت افزایش می دهد.
- هر زمان که OpenGL یا Hypervisor نتوانند اولیه سازی کنند ، ورود و چاپ بیشتری را اضافه کنید.
- اگر شبیه ساز نتواند نمونه ای از
-read-only
همزمان AVD را شروع کند ، شبیه ساز اکنون سعی در راه اندازی مجدد AVD-read-only
3 بار دیگر بیش از 3 ثانیه دارد. این تغییر احتمال این را افزایش می دهد که اگر شبیه ساز بتواند نمونه های همزمان-read-only
را به صورت AVD راه اندازی کند ، در صورتی که سایر موارد قابل نوشتن از آن AVD در حال تمیز کردن پرونده های قدیمی انجام نشود. - برای تصاویر سیستم آینده ، شبیه ساز اکنون از سخت افزار Composer 2.0 پشتیبانی می کند. این تغییر باید هنگام اجرای اکثر انیمیشن ها ، راننده را پایین بیاورد.
- ساخت شبیه ساز اکنون بر اساس Cmake/Ninja ساخته شده است.
- در UI کنترل های گسترده شبیه ساز ، خطوط تقسیم کننده در جدول میانبرهای صفحه کلید ترمیم شده است.
- اکنون کاربران می توانند در یک بازه 10 ثانیه ای ، از CPU و استفاده از RAM استفاده کنند. ما از این معیارها برای غنی سازی داده های خود در مورد استفاده از منابع شبیه ساز با موارد استفاده متفاوت کاربران استفاده می کنیم ، که به ما امکان می دهد تا شبیه ساز کارآمدتر و پاسخگوتر شود.
اصلاحات سنگ مرمر عمومی پروژه
این به روزرسانی همچنین شامل اصلاحات عمومی زیر است که بخشی از طرح سنگ مرمر پروژه است:
- مشکلات رفع شده با فریم های پیچش و نادرست که در سیستم های GPU Intel هنگام استفاده از تصاویر سیستم Q Android نمایش داده شده است.
- مشکلات رفع شده در جایی که یک صفحه سیاه هنگام استفاده از تصاویر سیستم Android Q با پوست پیکسل 2 XL (یا هر پوستی که دارای گوشه های شکاف یا گرد باشد) نمایش داده می شود.
- مسئله ای را برطرف کرد که در آن گزینه خط فرمان
-partition-size
اندازه پارتیشن داده را تنظیم نمی کند. - مسئله ای را برطرف کرد که در آن Pulseaudio روی شبیه ساز LINX می چرخد و در برخی شرایط یک هسته CPU کامل را به خود اختصاص می دهد.
- هنگام پردازش بافت های فشرده شده ، مشکلات مربوط به دسترسی به حافظه خارج از مرز را برطرف می کند.
- خطاهای GL ثابت که در میزبان در
glTexSubImage2D
هنگام به روزرسانی برخی از بافرهای Gralloc (با فرمت RGB 565 ، RGB10A2 ، RGB (A) 16F) رخ داده است. - مسئله نمایش در تصاویر سیستم Android Q با عکس های فوری که در آن هندسه سایه اعلان با یک تنظیم تقسیم کننده نمونه نادرست ارائه شده است.
- چند مورد سخت برای تولید و یخ زدگی را در مورد راه اندازی که به دلیل از دست دادن سیگنال های QT یا داشتن حالت های پوسته پوسته و متناقض در هنگام راه اندازی اتفاق افتاد ، برطرف کرد.
- بسیاری از موارد همزمانی را برطرف کرد. اکنون ما قادر به ساخت شبیه ساز لینوکس با ThreadSanitizer (TSAN) هستیم که به راحتی می تواند اشکالات را کشف کند که در غیر این صورت تولید مثل دشوار است.
- برای کاربران لینوکس: ما دریافتیم که در برخی از هسته های میزبان ، هسته اندرویدی مهمان می تواند با یک خطای سخت افزاری عمومی در KVM خطا کند و از آن خارج شود. وقتی این اتفاق می افتد به منظور افزایش اشکال زدایی (قبلاً ، شبیه ساز فقط آویزان شده بود) ، شبیه ساز اکنون
abort()
. - برای کاربران Linux: برای راحتی با تنظیمات CI ، می توانید از گزینه خط فرمان جدید
-stdouterr-file <file-name>
استفاده کنید تاstdout
وstderr
را به یک پرونده هدایت کنید. - مشکلی را برطرف کرد که در آن نادرست از
SO_REUSEADDR
استفاده شد. برای اطلاعات بیشتر ، به جزئیات متعهد مراجعه کنید. - مسئله دیرینه با شبیه ساز ویندوز را برطرف کرد که در آن فرآیندهای فرعی ، مانند دستورات ADB ، در صورتی که نام کاربری دارای فضاهایی در آن باشد ، نتوانستند شروع کنند.
- مسئله ای را با اولیه سازی از دست رفته RCU در موضوعات HAXM VCPU برطرف کرد. این رفع احتمالاً می تواند برخی از تصادفات و شرایط مسابقه را برطرف کند.
- سقوط یک تصادف که با الگوهای خاصی از صرفه جویی و بارگیری عکس های فوری از Snapshots UI با استفاده از تصاویر اخیر سیستم Q Android رخ داده است.
- مسئله ای را برطرف کرد که دوربین صحنه مجازی در صورتی که شبیه ساز از عکس فوری شروع شود ، اگر یک ماکرو AR در هنگام ذخیره آن عکس ، در حال پخش باشد ، خالی خواهد بود.
- مسئله ای را برطرف کرد که برخی از کاربران با تنظیمات دسک تاپ از راه دور هنگام راه اندازی شبیه ساز در لینوکس ، صفحه سیاه را دریافت کردند. برای جلوگیری از این امر ، شبیه ساز اکنون صریحاً
MESA_RGB_VISUAL
را پیکربندی می کند. برای اطلاعات بیشتر ، به جزئیات متعهد مراجعه کنید. - مسئله ای را برطرف کرد که دکمه های چرخش در AVD های تلویزیونی ظاهر می شوند.
- مسئله ای را برطرف کرد که اگر شبیه ساز همیشه در بالا تنظیم شود ، هر بار که شبیه ساز چرخانده می شد ، پنجره کنترل گسترده ظاهر می شد.
پروفایل های سخت افزاری برای دستگاه های تاشو
اکنون شبیه ساز شامل پروفایل های سخت افزاری برای دستگاه های تاشو است. برای استفاده از این پروفایل های سخت افزاری جدید ، باید از Android Studio 3.5 Canary 10 یا بالاتر استفاده کنید.
دو پروفایل سخت افزار تاشو وجود دارد که می توانید برای ایجاد AVD استفاده کنید:
- 7.3 "تاشو: 1536x2152 آشکار شد ، 4.6" 840x1960 تاشو
- 8 اینچ تاشو: 2200x2480 آشکار ، 6.6 "1480x2480 تاشو
هنگامی که شبیه ساز را با استفاده از یکی از این پروفایل های سخت افزاری اجرا می کنید ، می توانید دستگاه را با استفاده از اقدامات برابر و آشکار در نوار ابزار شبیه ساز ، دستورات کنسول یا میانبرهای صفحه کلید زیر بچسبانید و باز کنید:
- تاشو:
Ctrl + F
(Command + F
در MACOS) - باز کردن:
Ctrl + U
(Command + U
در macOS)
ماکروس
اکنون شبیه ساز شامل ماکروهای AR است که می تواند به شما در آزمایش اقدامات مشترک AR کمک کند. به عنوان مثال ، می توانید از یک ماکرو برای تنظیم مجدد تمام سنسورهای دستگاه در حالت پیش فرض آنها استفاده کنید.
برای اطلاعات بیشتر ، به آزمایش های مشترک AR با ماکرو مراجعه کنید.
پشتیبانی ولکان (ویندوز ، لینوکس)
کاربران ویندوز و لینوکس هم اکنون می توانند برنامه های Vulkan را با Android Emulator تا Vulkan 1.1 آزمایش کنند. بیشتر اینتل ، Nvidia و GPU های AMD از سال 2014 و بعد).
برای فعال کردن پشتیبانی Vulkan ، باید پرچم های ویژگی زیر را به پرونده ~/.android/advancedFeatures.ini
خود اضافه کنید (در صورت وجود پرونده را ایجاد کنید):
-
Vulkan = on
-
GLDirectMem = on
پشتیبانی اولیه از توسعه دهندگان ROM
توسعه دهندگان ROM که در حال ساخت sdk_phone_x86
یا sdk_phone_x86_64
( userdebug
، انواع eng
) در شعبه master
AOSP هستند ، اکنون می توانند یک شبیه ساز با قابلیت ولکان را اجرا کنند.
این پشتیبانی هنوز هم آزمایشی است و عمدتاً برای توسعه دهندگان است که روی تصاویر سیستم ، درایورها و موتورهای بازی کار می کنند. بسیاری از پسوندها هنوز از دست رفته اند. با این حال ، حافظه HOST_COHERENT
پشتیبانی می شود ، و اکنون باید بتوانید نمونه های آموزش API Vulkan را اجرا کنید.
اگر از لینوکس استفاده می کنید ، می توانید این کار را با استفاده از دستورات زیر امتحان کنید:
mkdir aosp-master
cd aosp-master
repo init -u https://android.googlesource.com/platform/manifest -b master --depth=1
repo sync -c -j12
. build/envsetup.sh
lunch sdk_phone_x86_64-userdebug
make -j12
emulator -no-snapshot -feature Vulkan,GLDirectMem
ارائه اسکی با ولکان
NVIDIA و GPU های AMD که از Vulkan پشتیبانی می کنند همچنین از طریق Zero Copy Copy با OpenGL از طریق پسوند GL_EXT_memory_objects
پشتیبانی می کنند. شبیه ساز این توانایی را برای ارائه راهی کامل برای ارائه UI Android با استفاده از API های Skia Vulkan فراهم می کند.
اگر یک GPU NVIDIA یا AMD دارید که از Vulkan پشتیبانی می کند ، از دستورات زیر برای آزمایش ارائه Skia با یک تصویر سیستم سازگار (Android Q Beta 3 و بالاتر) استفاده کنید:
adb shell
su
setprop debug.hwui.renderer skiavk
stop
start
پشتیبانی MACOS از Vulkan
پشتیبانی MACOS هنوز هم آزمایشی است ، اما شبیه ساز در حال حاضر شامل API های SwiftShader ، MoltenVK و Libportability ( GFX-RS ) است. با تنظیم متغیرهای محیط زیر می توانید با این API ها آزمایش کنید:
- SwiftShader:
ANDROID_EMU_VK_ICD=swiftshader
- MoltenVK:
ANDROID_EMU_VK_ICD=moltenvk
- قابلیت libportability:
ANDROID_EMU_VK_ICD=portability
مسائل شناخته شده
HAXM گاهی اوقات می تواند نتواند حافظه منسجم ولکان را به میهمان نقشه برداری کند و شبیه ساز را خاموش کند. این در یک به روزرسانی HAXM آینده مورد بررسی قرار می گیرد.
شبیه ساز جریان GRPC (لینوکس)
ما همیشه سعی می کنیم با اجازه دادن به ارائه GPU میزبان و تعامل در وسیع ترین زمینه های در حال اجرا ، شبیه ساز را تا حد امکان متنوع تر کنیم. کاربران دسک تاپ CI و از راه دور ما مشکلات دیرینه زیر را دارند:
- ارسال برنامه های ورودی به صورت برنامه ای به شبیه ساز شامل اجرای دستورات پوسته ADB است که می توانند سربار بالا را تجربه کنند ، یا با استفاده از کنسول Telnet ، که سریعتر است ، اما ممکن است با تنظیمات شبکه خاصی کار نکند.
- کاربران CI اغلب شبیه سازها را بدون سر اجرا می کنند ، که می تواند توجه به مواردی را که نیاز به صفحه نمایش قابل مشاهده یا تعاملی دارند ، دشوار کند.
- کاربران دسک تاپ از راه دور اغلب هنگام استفاده از ارائه دهنده GPU میزبان نمی توانند با شبیه ساز ارتباط برقرار کنند زیرا ارائه GPU اغلب با نمایشگرهای غیر مجلسی میزبان گره خورده است.
برای پرداختن به این موضوع ، هنگام کار بر روی دستگاه لینوکس ، شبیه ساز اکنون یک سرویس GRPC را ارائه می دهد. GRPC یک چارچوب کلی برای RPC است که از طریق HTTP کار می کند.
به طور پیش فرض ، سرویس GRPC شبیه ساز غیرفعال است ، اما می توانید سرویس را با استفاده از گزینه خط فرمان زیر فعال کنید ، جایی که <port>
پورت ای است که شبیه ساز باید درخواست های GRPC را ارائه دهد (معمولاً 5556
):
-grpc <port>
پس از شروع سرویس ، دستورات GRPC می توانند از مشتری ها صادر شوند. مجموعه فعلی دستورات امکان ارسال رویدادهای ورودی و دریافت تصاویر را فراهم می کند. این دستورات به موضوعات زیر کمک می کنند:
- دستورات ورودی را می توان با سربار کم بیش از HTTP به شبیه ساز ارسال کرد. HTTP همچنین باعث می شود دستورات در تنظیمات شبکه اضافی ارسال شوند.
- دستورات تصویر می توانند برای پرس و جو از صفحه فعلی ارسال شوند ، حتی اگر شبیه ساز بدون سر در حال اجرا باشد. برای تعامل ، رویدادهای ورودی نیز می توانند به شبیه ساز ارسال شوند.
- کاربران دسک تاپ از راه دور می توانند در هنگام استفاده از GRPC برای گرفتن تصاویر و ارسال رویدادهای ورودی به منظور تعامل با شبیه ساز ، شبیه ساز را بدون سر و صدا در صفحه اصلی با ارائه GPU در هنگام استفاده از GRPC اجرا کنند.
برای لیست کاملی از دستورات موجود ، به این Protobuf مراجعه کنید.
برای کمک به شما در شروع کار با GRPC ، ما برخی از مشتری های نمونه را ارائه داده ایم که می توانید به آنها مراجعه کنید.
در حال حاضر ، این شامل نمونه های زیر است:
- یک سرویس مبتنی بر GO که می تواند برای پرس و جو از دولت های شبیه ساز استفاده شود.
- یک برنامه React که تعامل از راه دور را از طریق تصویر و RPC های ورودی نشان می دهد. این نمونه به نسخه ProtoBUF 3.7.0 یا بالاتر نیاز دارد.
- یک نمونه پایتون که پیکربندی VM شبیه ساز را پرس و جو می کند و سپس یک سری دستورات را ارسال می کند.
28.0.25 (29 مارس 2019)
این به روزرسانی شامل پیشرفت ها و اصلاحات زیر است:
شبیه ساز بدون سر
به دلیل انتظارات ضمنی سیستم قادر به پشتیبانی از QT به همراه وابستگی های مشترک کتابخانه خود (از جمله سایر موضوعات) ، راه اندازی آن با Docker و سایر گردش های مداوم ادغام (CI) دشوار بوده است.
به عنوان اولین قدم برای پرداختن به این موضوع ، ما نوعی از پرتابگر را با اجرایی QEMU معرفی کردیم که به QT بستگی ندارد. در لینوکس ، هنوز پیوندی به libX11
وجود دارد ، اما امیدواریم که به زودی آن را حذف کنیم.
برای استفاده از شبیه ساز بدون سر ، شبیه ساز را از خط فرمان طبق معمول اجرا کنید ، اما دعوت باینری شبیه ساز را با emulator-headless
جایگزین کنید. برای اطلاعات بیشتر ، به بروزرسانی نسخه 28.1.8 قناری مراجعه کنید.
- هنگام اجرای تصاویر سیستم Android Q ، صفحه نمایش ثابت و فریم نادرست در GPU های Intel.
- مشکلات رفع شده در جایی که صفحه سیاه هنگام استفاده از تصاویر سیستم Q Android با پوست Pixel 2 XL نمایش داده می شود.
- اکنون آخرین باینری های BIOS برای راه اندازی شبیه ساز استفاده می شود. این تغییر می تواند به کاهش خطاهای "درخواست خاموش کردن VCPU" کمک کند که گاهی اوقات هنگام راه اندازی شبیه ساز روی ویندوز اتفاق می افتد.
- در هنگام از سرگیری تصاویر سیستم Android Q از یک عکس فوری "، برای نمایش" اشتباه صفحه نمایش "از صفحه نمایش اشتباه استفاده کرد.
- کاربران به دلیل تغییر ناسازگار در ADB در ابزار 28.0.2 پلتفرم ، مشکلات شبیه سازهای "غیرمجاز" را تجربه می کردند. اکنون می توانید با خیال راحت از ADB از سیستم های سکوی 28.0.2 با شبیه ساز استفاده کنید. اگر با شبیه سازهای "غیرمجاز" مشکل دارید ، مراحل عیب یابی زیر را انجام دهید:
- از همه شبیه سازها خارج شوید.
- هر دو پرونده
~/.android/adbkey
و~/.android/adbkey.pub
حذف کنید. - دستور زیر را اجرا کنید:
adb kill-server
- دستور زیر را اجرا کنید:
adb devices
- داده های AVD را پاک کنید.
- راه اندازی مجدد شبیه ساز.
28.0.23 (29 ژانویه 2019)
این به روزرسانی شامل پیشرفت ها و اصلاحات زیر است:
ورودی صوتی میزبان به طور پیش فرض غیرفعال است
یک پست اخیر در مورد Reddit توضیح می دهد که چگونه سیستم عامل Android مهمان همیشه از صدای میکروفون میزبان استفاده می کند و از این طریق به "Ok Google" اجازه می دهد به طور غیر منتظره ای کار کند. ما از این موضوع متاسفم و با تیم Android همکاری خواهیم کرد تا مطمئن شویم که تشخیص کلمه Hot -Word در تصویر سیستم نیز غیرفعال شده است.
برای پرداختن به این موضوع ، ما تغییرات زیر را ایجاد کرده ایم:
- داده های صوتی واقعی میزبان اکنون به طور پیش فرض جمع شده است. هنگامی که میهمان از میکروفون استفاده می کند ، سکوت به جای صوتی میزبان از آن عبور می کند.
- اگر می خواهید از داده های صوتی میزبان استفاده کنید ، اکنون می توانید با رفتن به کنترل های گسترده> میکروفون و فعال کردن میکروفون مجازی ، از ورودی صوتی میزبان استفاده کنید . این گزینه هر زمان که شبیه ساز دوباره راه اندازی شود ، به طور خودکار غیرفعال می شود.
به روزرسانی در مورد تحقیقات استفاده از CPU
در طی تحقیقات مرمر پروژه ما ، ما متوجه شده ایم که استفاده بالای CPU در شبیه ساز به طور کلی در سه دسته زیر قرار می گیرد:
AT IDLE: به روزرسانی های برنامه خودکار در تصاویر فروشگاه Play
ما دریافتیم که در فواصل تصادفی ، تمام برنامه های نصب شده به روز می شوند ، حتی اگر کاربر وارد سیستم نشده باشد. در طی این فرآیند ، استفاده از پردازنده به تعداد هسته X 100 ٪ (به طور معمول 400 ٪ پوند) در GMSCORE و DEX2AT هدایت می شود. می توانید با غیرفعال کردن به روزرسانی های برنامه خودکار در برنامه Play Store ، این مسئله را کاهش دهید.
در Idle: Detection Hotword
هنگامی که در صفحه اصلی و بدون هیچ برنامه ای پیش بینی شده است ، می توان مقدار زیادی از CPU (25 ٪ پوند با سنبله تا 50 ٪) وجود داشت. این امر در اثر تشخیص HotWord ایجاد می شود که دائماً میزبان را جمع می کند. شما نمی توانید این مسئله را با غیرفعال کردن ورودی صوتی میزبان کاهش دهید زیرا هزینه CPU در درجه اول ناشی از زمان لازم برای سفر به میهمان از میزبان است. با این حال ، می توانید با ابطال مجوزهای میکروفون از برنامه Google ، این مسئله را کاهش دهید.
در حالی که فعال است ، گاهی اوقات در حالت بیکار: انیمیشن ها
منبع سوم استفاده از CPU بالا انیمیشن ها است. ما دریافتیم که با بهینه سازی پشته درایور گرافیکی ، می توانیم استفاده از CPU را حتی اگر شبیه ساز بیکار نباشد ، کاهش دهیم. ما بهینه سازی های درایور گرافیک را به طور تدریجی به عنوان بخشی از Project Marble می پردازیم.
28.0.22 (21 دسامبر 2018)
این به روزرسانی شامل پیشرفت ها و اصلاحات زیر است:
- یک مسئله طولانی مدت را برطرف کرد که در برخی از تنظیمات ، شبیه ساز MAC در QuickBoot ذخیره می کند یا وحشت هسته را دوباره راه اندازی می کند. ( شماره 120951634 )
- هنگام استفاده از یک فایل نقشه برداری به عنوان عکس فوری RAM ، شبیه ساز اکنون نقشه برداری فایل را صریحاً در خروج از بین می برد.
28.0.20 (11 دسامبر 2018)
این به روزرسانی شامل پیشرفت ها و اصلاحات زیر است:
- مسئله ای را در ویندوز ایجاد کرد که باعث شد شبیه ساز با بارش عکس با مدل های خاصی از GPU های Intel ، بار خود را بر روی بار عکس فوری کند.
- مسئله ای را برطرف کرد که باعث ایجاد حالت دستگاه ADB
unauthorized
هنگام استفاده از یک مکان غیر استانداردANDROID_SDK_HOME
شد. - مسئله ای را در ویندوز که باعث شد شبیه ساز هنگام بوت شدن تصاویر سیستم با شتاب CPU غیرفعال شود ، خراب شود.
- مسئله نمایشگر شبیه ساز پیکسل را برطرف کرد. Downsampling اکنون باید کار کند.
- مسئله ای را در MACOS 10.14+ برطرف کرد که در آن کنترل Mouselook Camera صحنه مجازی به دلیل تعامل با تنظیمات امنیتی دسترسی جدید می تواند بسیار حساس شود.
- خطایی را در محاسبه منطقه زمانی برطرف کرد که می تواند باعث تغییر ساعت شبیه ساز شود.
- خطاهای ارائه دهنده ثابت در برنامه های مختلف Cocos2D و Unreal Engine.
- پشتیبانی اضافه شده در شبیه ساز برای Wi-Fi Peer-to-Peer . در صورت استفاده از آخرین تصویر فروشگاه Pie Play ، دو شبیه ساز هم اکنون می توانند مستقیماً از طریق Wi-Fi با یکدیگر صحبت کنند. برای استفاده از Wi-Fi Peer-to-Peer ، دو AVD را با همان آرگومان های
-wifi-server-port
و--wifi-client-port
شروع کنید:-
emulator @<server-avd-name> -wifi-server-port 9999
-
emulator @<client-avd-name>-wifi-client-port 9999
-
- با استفاده از هرگونه اندازه قاب ناسازگار و تغییر اندازه گیری پویا برای متناسب با تنظیم دوربین در میهمان اندرویدی ، پشتیبانی بیشتری برای وب کم ها در ویندوز اضافه کرد.
28.0.16 (نوامبر 2018)
این به روزرسانی شامل چندین ویژگی جدید ، پیشرفت در ویژگی های موجود و رفع اشکال است.
استفاده از منابع
این شبیه ساز اکنون از RAM کمتری استفاده می کند ، به خصوص هنگام استفاده از تصاویر سیستم با سطح API 28 یا بالاتر. این تصاویر سیستم شامل استفاده از حافظه بهبود یافته برای درایورهای گرافیکی سمت مهمان است.
علاوه بر این ، ما همچنین در زمینه های زیر میزان مصرف منابع را بهبود بخشیده ایم:
- کاهش مصرف حافظه شبیه ساز در طول تست های طولانی. اگر هنوز هم در مورد استفاده از حافظه در طول تست های طولانی مدت مشکلی را تجربه کرده اید ، لطفاً موضوعی را ایجاد کنید که مورد استفاده شما را در مورد ردیاب شماره توصیف کند.
- کاهش مصرف CPU هنگام اجرای برنامه ها با انیمیشن.
- مسئله ای را برطرف کرد که در آن زمینه QEMU AIO می تواند در ویندوز نشت کند.
چندین نمونه از یک AVD را همزمان اجرا کنید
اکنون می توانید چندین نمونه از همان AVD را راه اندازی کرده و همزمان آنها را اجرا کنید. مواردی که بعد از اولین نمونه راه اندازی می کنید فقط خواندنی است و تغییرات آنها در دیسک مجازی مهمان در خروجی دور ریخته می شود.
برای اجرای چندین نمونه از همان AVD در همان زمان ، هر نمونه را بعد از اولین نمونه از خط فرمان با استفاده از پرچم -read-only
راه اندازی کنید.
این ویژگی با کپی کردن پرونده های QCOW2 مرتبط با قسمت های قابل نوشتن تصویر اندرویدی امکان پذیر است. برای کمک به شما در مدیریت فضای دیسک ، ما همچنین ابزار خط فرمان qemu-img
را به شما امکان پذیر کرده ایم تا قبل از راه اندازی چندین نمونه ، پرونده های QCOW2 را از قبل انتخاب کنید.
علاوه بر این ، هنگامی که در پشت سر هم با ویژگی Snapshots RAM مهمان با حمایت از پرونده استفاده می شود ، چندین نمونه AVD عکس فوری AVD QuickBoot را به عنوان منبع مشترک رم مهمان کپی بر روی نوشتن به اشتراک می گذارند. این خاصیت به این معنی است که نمونه ها بخش اعظم قوچ خود را مشترک دارند. از این ویژگی برای اجرای تست هایی که به چندین دستگاه نیاز دارند برای اجرای موازی استفاده کنید.
ما از بازخورد شما در مورد موارد استفاده احتمالی که بخشی از گردش کار عادی یا CI شما هستند قدردانی می کنیم. لطفاً مسائل مربوط به Tracker Issue را ایجاد یا upvote ایجاد کنید.
عکسهای قوسی مهمان با حمایت پرونده
با پیش اختصاص و نقشه برداری از رم مهمان به عنوان یک پرونده ، شبیه ساز اکنون می تواند به جای انجام همه کارها در هنگام خروج ، عکس های QuickBoot را در طول زمان اجرا کند. اگر در حال حاضر در هنگام بستن شبیه سازهای خود ، زمان صرفه جویی طولانی را تجربه کرده اید ، این ویژگی را قادر به بهبود عملکرد QuickBoot خود کنید. به طور پیش فرض ، یک عکس فوری Quickboot در خروجی ذخیره می شود و هر بار دوباره بارگذاری می شود ، مانند تعلیق و بیدار شدن از یک دستگاه واقعی.
از آنجا که RAM مهمان Android اکنون به طور پیش فرض به صورت خودکار انجام می شود ، اگر می خواهید حالت دستگاه را تعریف کنید و به طور مکرر از آن حالت بارگیری کنید ، باید به شبیه ساز بگویید تا بعد از هر جلسه تغییرات را کنار بگذارد. شما می توانید این کار را به روش های زیر انجام دهید:
- هنگام راه اندازی شبیه ساز از خط فرمان ، از پرچم های
-no-snapshot-save
یا-read-only
استفاده کنید. - به کنترل های گسترده> عکس های فوری> تنظیمات بروید و حالت فعلی ذخیره خودکار را به QuickBoot تغییر دهید؟ به نه
- پس از انتخاب این گزینه ، باید شبیه ساز را مجدداً راه اندازی کنید. اگر شبیه ساز روی اتومبیل سازی خودکار تنظیم شده است ، می توانید دستور زیر را برای تنظیم یک ایست بازرسی اجرا کنید:
پس از اجرای این دستور ، Snapshot Emulator QuickBoot در آن ایست بازرسی می ماند. دوباره همان دستور را اجرا کنید تا شبیه ساز را از پاسگاه خود بارگیری کنید.adb emu avd snapshot remap 0
عکسهای فوری که از طریق عملکرد Snapshots UI مانند گذشته انجام می شود و بدون نقشه برداری فایل بارگیری می شوند.
از آنجا که این یک تغییر بزرگ در نحوه عملکرد QuickBoot است ، ما از بازخورد شما در مورد اینکه آیا عملکرد Quickboot را بهبود می بخشد و چه نوع مسائلی را هنگام استفاده از آن با آنها روبرو می کنیم ، بسیار قدردانی می کنیم. اگر مشکلی را تجربه کردید ، می توانید با افزودن خط زیر به پرونده ~/.android/advancedFeatures.ini
خود این ویژگی را غیرفعال کنید:
QuickbootFileBacked = off
هنگامی که شبیه ساز را از یک عکس فوری شروع می کنید (یا با استفاده از گزینه خط فرمان -snapshot
، یا راه اندازی از عکس فوری در مدیر AVD) ، شبیه ساز هم برای عکس های سریع و هم برای صرفه جویی در عکس های QuickBoot در خروجی ، از بین می رود. این باعث می شود شانس این که عکس فوری Quickboot ناخواسته بازنویسی شود ، کاهش می یابد و از مسیرهای آهسته برگشتی که از عکس های سریع Quickboot با حمایت پرونده استفاده نمی کنند ، جلوگیری می کند.
qemu 2.12
ما نوع QEMU خود را از QEMU 2.9 به QEMU 2.12 دوباره تخفیف داده ایم. این بروزرسانی شامل تغییرات QEMU زیر است:
- https://wiki.qemu.org/changelog/2.10
- https://wiki.qemu.org/changelog/2.11
- https://wiki.qemu.org/changelog/2.12
در اینجا برخی از تغییرات قابل توجه که بر شبیه ساز اندرویدی تأثیر می گذارد وجود دارد:
- X86:
gdbstub
اکنون دسترسی به ثبت های SSE را فراهم می کند. - تصاویر دیسک: قفل تصویر به طور پیش فرض اضافه و فعال می شود. چندین فرآیند QEMU نمی تواند تا زمانی که میزبان از قفل OFD یا POSIX پشتیبانی کند ، به همان تصویر بنویسند ، مگر اینکه گزینه ها در غیر این صورت مشخص شود.
-
qemu-img: qemu-img resize
از جابجایی قسمت های جدید تصویر پشتیبانی می کند. - QCOW2 کوچک شدن اکنون در
qemu
وqemu-img
پشتیبانی شده است.
قابلیت دسترسی
- مشکلات رفع شده با خوانندگان صفحه نمایش و پشتیبانی بهتری از این ابزارها در ضبط صفحه و UI Snapshot.
- نمادهای اعلان سریع بوت را برای کاربرانی که کور رنگ هستند قابل دسترسی تر است.
گرافیک
- یک مسئله دسترسی به حافظه خارج از محدوده را برطرف کرد که می تواند برای نشانگرهای آرایه vertex Opengl es رخ دهد.
- برخی از GPU های قدیمی تر از OpenGL 2.1 یا بیشتر (که لازم است) پشتیبانی نمی کنند ، یا مشکلات قابلیت اطمینان دیگری نیز داشتند. این مسائل می تواند باعث شود که شبیه ساز در شروع ، یخ زدن یا غیرقابل استفاده در تنظیم پیش فرض GPU باشد. در صورت تشخیص اینکه این GPU ها در حال استفاده هستند ، اکنون شبیه ساز به طور خودکار به رندر SwiftShader تغییر می کند.
- مسئله ای را که باعث شد شبیه ساز در صورت ارسال
FBO != 0
در زمانeglSwapBuffers
محدود شود ، ارسال کند. - مسئله ثابت که در آن صفحه نمایش آندروید مجازی فقط در گوشه بالا سمت چپ نشان داده می شود. ما معتقدیم که این امر به دلیل اشتباه متغیرهای محیط QT بود. اکنون شبیه ساز تمام متغیرهای محیط مربوط به مقیاس QT را نادیده می گیرد.
- مسئله ای را برطرف کرد که در هنگام بارگیری برنامه های GLES1 از عکس فوری ، شبیه ساز در برخی شرایط خراب شد.
- مشکلات همزمانی ثابت در OpenGL و راه اندازی موضوعات ارائه شده که می تواند منجر به آزاد شدن یا داده های خراب شود.
- Android Emulator اکنون از پشتیبانی بافت فشرده شده ASTC LDR (
GL_KHR_texture_compression_astc_ldr
) برای تصاویر سیستم که از سطح 28 یا بالاتر API استفاده می کنند ، پشتیبانی می کند. - اکثر GPU های مدرن اکنون باید بتوانند شبیه ساز را با OpenGL ES 3.x به طور پیش فرض بدون استفاده از پرچم ویژگی
GLESDynamicVersion
فعال کنند. -
-gpu guest
(ارائه نرم افزار در مهمان) کاهش یافته است. تصاویر سیستم برای سطح API 28 یا بالاتر اکنون به طور خودکار به جای استفاده از SwiftShader (-gpu swiftshader_indirect
) به صورت خودکار تغییر می کند. - اگر شبیه ساز از خط فرمان با استفاده از پرچم
-no-window
راه اندازی شود ، رندر پیش فرض اکنون SwiftShader است.
مکان
- شبیه ساز اکنون می تواند تحمل همراه با موقعیت عرض جغرافیایی و طول جغرافیایی را به روز کند. سنسور مجازی Magnetometer با استنباط حرکت هنگام پخش یک فایل GPX یا KML ، خود را به صورت پویا در شمال مغناطیسی تنظیم می کند.
- سرعت دستگاه اکنون می تواند در صفحه مکان تنظیم شود.
- هنگام پخش یک فایل GPX یا KML ، سرعت به طور خودکار تنظیم می شود و با پایان یافتن پخش روی صفر تنظیم می شود.
- ارتفاع دیگر محدود به بودن بین 1000 تا +10،000 متر نیست.
- مسئله ای را برطرف کرد که در آن مکان مجازی GPS به صورت دوره ای به روز نشود ، مگر اینکه پنجره کنترل گسترده حداقل یک بار باز شود.
دوربین
در ویندوز ، اکنون وب کم های بیشتری پشتیبانی می شوند زیرا شبیه ساز به صورت پویا از فریم های دوربین که از وب کم تحویل می شوند تغییر می کند. این ویژگی همچنین مانع از ایجاد خطاها در تحویل فریم می شود و باعث آویزان شدن شبیه ساز می شود.
فروشگاه Play
برای پرداختن به مسائل مربوط به اجرای فضای دیسک در تصاویر فروشگاهی ، شبیه ساز اکنون به طور خودکار در هنگام کار با فروشگاه Play Play AVD ، پارتیشن UserData را به 6 گیگابایت تغییر می دهد.
بهبود کیفیت و رفع کیفیت عمومی
- برخی از کاربران گزارش دادند که شبیه ساز کند است. ما یک علت احتمالی را شناسایی کردیم که در آن دایرکتوری دما برای شبیه ساز با بسیاری از پرونده های بی نظیر در داخل به پایان می رسد. به عنوان یک راه حل ، شبیه ساز دیگر فایلهای ADB را در آن فهرست ذخیره نمی کند. با این حال ، ممکن است به حذف محتوای آن پوشه نیز کمک کند. این پوشه بسته به سیستم عامل شما در یکی از مکان های زیر قرار دارد:
- ویندوز:
C:\Users\<username>\AppData\Local\Temp\AndroidEmulator\*
- macos یا linux:
/tmp/android-<username>/*
- ویندوز:
- اگر شبیه ساز به دلیل ناکافی RAM رایگان نتواند شروع کند ، اکنون یک پیام خطا نمایش داده می شود. 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
-sysdir
command line option now properly overrides the inferred system image directory. - Virtual modem now supports the model activity info
+MAI
query. - 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/avd
directory and running the following command on the empty~/.android/avd
directory: 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.
General fixes
- Fixed OpenGL errors that occur when loading a snapshot in the camera app.
27.3.8 (July 2018)
This update includes several new features, improvements to existing features, and bug fixes.
عکس های فوری
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)
This update includes several new features, improvements to existing features, and bug fixes.
ضبط صفحه نمایش
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. این پیش فرض است.
- 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 swiftshader
and-gpu angle
options 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*_indirect
variants.-
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.img
partitions. - 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=host
and 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=mesa
will 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 = off
to~/.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 stdio
And then enter
change vnc password
into 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 = off
in~/.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 = off
in~/.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
exit
andminimize
commands. - 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
mustpass
list . 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 devices
list 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.ini
file 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.
- عملکرد گرافیکی بهبود یافته است.
- 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.