Catch up on highlights from Firebase at Google I/O 2023. Learn more

آزمایش را با دستگاه های مجازی اندروید شروع کنید

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

در حالی که AVD های تست آزمایشگاه مشابه AVD های اندروید استودیو هستند، تفاوت های کمی بین این دو وجود دارد. به عنوان مثال، AVD ها در آزمایشگاه تست به جای اتصال Wi-Fi، یک اتصال داده شبیه سازی شده دارند.

AVD های آزمایشگاه تست با پسوند .arm یا (Arm) شبیه سازهای پیشرفته ای هستند که مزایای زیر را ارائه می دهند:

  • زمان اجرای تست سریعتر

  • اندازه‌ها و تراکم صفحه‌نمایش با AVD‌های اندروید استودیو برای سازگاری هماهنگ شده است

استفاده از AVD با پسوند .arm یا (Arm) مزایای زیر را نسبت به سایر انواع دستگاه های فیزیکی دارد:

سود شرح مورد(های) استفاده
در دسترس بودن بالا هنگام آزمایش با دستگاه های مجازی می توانید آزمایش ها را اجرا کنید و نتایج آزمایش را سریعتر دریافت کنید. از آنجایی که دستگاه‌های مجازی بر اساس تقاضا ایجاد می‌شوند، آزمایش‌های شما تقریباً بلافاصله شروع می‌شوند و اعتبارسنجی سریع برنامه شما را فراهم می‌کنند. آزمایش به‌روزرسانی‌های کوچک برنامه یا آزمایش رگرسیون.
مدت زمان تست طولانی تر مدت زمان تست بر روی دستگاه های فیزیکی 45 دقیقه در هر دستگاه محدود می شود. دستگاه های مجازی از مدت زمان تست حداکثر 60 دقیقه پشتیبانی می کنند. انجام تست های طولانی تر
هزینه های پایین تر قیمت دستگاه های مجازی برای هر دستگاه مجازی که برای آزمایش برنامه شما استفاده می شود، 1 دلار در ساعت است. تست روزانه با استفاده از سیستم های یکپارچه سازی مداوم یا قبل از بررسی کد. برای کسب اطلاعات بیشتر، سطوح استفاده، سهمیه‌ها و قیمت‌گذاری برای آزمایشگاه تست را ببینید.

برنامه خود را با دستگاه های مجازی تست کنید

می توانید برنامه خود را با دستگاه های مجازی به همان روشی که با دستگاه های فیزیکی آزمایش می کنید، آزمایش کنید. هنگامی که ابعاد آزمایشی را برای پیکربندی یک ماتریس آزمایشی انتخاب می کنید، به سادگی دستگاه های مجازی را انتخاب کنید. برای کسب اطلاعات بیشتر درباره اجرای آزمایش‌ها با Test Lab، به شروع آزمایش برای Android با Firebase Test Lab مراجعه کنید.

مدل ها و API های پشتیبانی شده را مشاهده کنید

برای مشاهده مدل های AVD و API های پشتیبانی شده توسط Test Lab، دستور زیر را اجرا کنید:

gcloud firebase test android models list --filter=virtual

بهترین روش ها برای آزمایش برنامه شما

هنگامی که برنامه خود را با Test Lab آزمایش می کنید، دستگاه های مجازی دامنه گزینه های شما را افزایش می دهند. توصیه می کنیم از بهترین شیوه ها در این بخش برای آزمایش برنامه خود در طول چرخه عمر توسعه برنامه استفاده کنید.

از شبیه ساز Android Studio یا یک دستگاه فیزیکی متصل استفاده کنید

هنگام توسعه برنامه خود، از شبیه ساز Android Studio یا یک دستگاه فیزیکی متصل استفاده کنید تا هر ساختنی را برای تأیید اعتبار اولیه بررسی کنید. اگر تست‌های ابزار دقیق دارید، می‌توانید این تست‌ها را از Android Studio بر روی دستگاه‌های فیزیکی یا مجازی ارائه‌شده توسط Test Lab نیز اجرا کنید.

هنگام کار بر روی پروژه های مشترک از سیستم های CI برای هر تغییر کد استفاده کنید

اگر روی یک پروژه بزرگ کار می‌کنید یا در پروژه‌هایی مشارکت می‌کنید که با استفاده از GitHub یا یک سرویس مشابه به اشتراک گذاشته می‌شوند، توصیه می‌کنیم از سیستم‌های یکپارچه سازی پیوسته (CI) استفاده کنید.

هر بار که سیستم CI اجرا می شود یا قبل از هر درخواست کشش، برنامه های خود را روی دستگاه های مجازی آزمایش کنید. برای کسب اطلاعات بیشتر در مورد استفاده از Test Lab با سیستم‌های CI، به استفاده از Test Lab برای Android با سیستم‌های ادغام مداوم مراجعه کنید.

قبل از اینکه به‌روزرسانی‌های مهم برنامه را منتشر کنید، برنامه خود را روی دستگاه‌های فیزیکی با Test Lab آزمایش کنید

قبل از اینکه به‌روزرسانی‌های برنامه را با تغییرات قابل توجه در رابط کاربری و عملکرد منتشر کنید، توصیه می‌کنیم از Test Lab برای آزمایش برنامه خود در دستگاه‌های فیزیکی استفاده کنید. این کمک می کند تا اطمینان حاصل شود که برنامه شما در طیف گسترده ای از دستگاه های فیزیکی محبوب پایدار و کارآمد است. آزمایش بر روی دستگاه های فیزیکی همچنین پوشش آزمایشی را برای هر عملکرد برنامه ای که به ویژگی های دستگاه فیزیکی که توسط دستگاه های مجازی شبیه سازی نشده است متکی است، تضمین می کند. برای کسب اطلاعات بیشتر درباره این ویژگی‌ها، محدودیت‌های شناخته شده را ببینید.

به روز رسانی دستگاه مجازی

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

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

محدودیت های شناخته شده

برخی از ویژگی‌های دستگاه فیزیکی در حال حاضر توسط دستگاه‌های مجازی شبیه‌سازی نشده‌اند یا با برخی محدودیت‌ها شبیه‌سازی شده‌اند. جدول زیر ویژگی هایی را خلاصه می کند که در حال حاضر در دستگاه های مجازی در دسترس نیستند یا با محدودیت های خاصی در دسترس هستند.

ویژگی جزئیات
رابط های باینری برنامه (ABI) همه دستگاه ها از همه ABI ها پشتیبانی نمی کنند. اگر با Android NDK توسعه می‌دهید، حتماً کدهایی را برای ABI‌های پشتیبانی شده توسط دستگاه‌های مورد نظرتان ایجاد کنید. برای اطلاعات بیشتر، دستگاه‌های موجود در آزمایشگاه تست را ببینید. برای کسب اطلاعات بیشتر درباره مدیریت ABI، به Android ABI مراجعه کنید. برای اطلاع از اینکه کدام ABI توسط یک دستگاه پشتیبانی می‌شود، به بررسی دستگاه‌های آزمایشی موجود مراجعه کنید.

توجه: اگر آزمایشی در ماتریس آزمایشی شما به‌عنوان نامعتبر علامت‌گذاری شود، ممکن است این اتفاق بیفتد زیرا برنامه شما به کد بومی وابسته است که توسط ABI دستگاه پشتیبانی نمی‌شود.

عملکرد گرافیکی دستگاه‌های مجازی Nexus و Pixel از رندر گرافیکی نرم‌افزاری استفاده می‌کنند. برنامه های کاربردی گرافیک فشرده عملکرد کمتری را تجربه خواهند کرد. اگر برنامه شما گرافیک فشرده است، به جای آن از مدل های SmallPhone.arm و MediumPhone.arm یا دستگاه های فیزیکی استفاده کنید.
ضبط صفحه نمایش ضبط صفحه در دستگاه‌های Nexus و Pixel 1 فریم در ثانیه است.
API های گرافیکی OpenGL ES 3.x در دستگاه‌های زیر سطح API 29 پشتیبانی نمی‌شود. دستگاه‌های جدیدتر 100% با OpenGL/Vulkan API سازگار نیستند. ممکن است متوجه تفاوت های کوچک در گرافیک شوید.

مراحل بعدی