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

با مجموعه‌ها، منظم بمانید ذخیره و دسته‌بندی محتوا براساس اولویت‌های شما.

تره ماهی چیست؟

Cuttlefish یک دستگاه اندروید مجازی قابل تنظیم است که می تواند هم از راه دور (با استفاده از پیشنهادات ابری شخص ثالث مانند Google Cloud Engine) و هم به صورت محلی (در ماشین های Linux x86) اجرا شود.

اهداف سگ ماهی

  • پلتفرم و توسعه‌دهنده برنامه را از وابستگی به سخت‌افزار فیزیکی برای توسعه و تأیید تغییرات کد آزاد کنید.
  • با حفظ همسویی نزدیک با چارچوب اصلی، رفتار مبتنی بر چارچوب یک دستگاه واقعی را با تمرکز بر وفاداری بالا تکرار کنید.
  • پشتیبانی از تمام سطوح API بعد از 28.
  • سطح سازگاری از عملکرد را در سطوح API، همراستا با رفتار سخت افزار فیزیکی ارائه دهید.
  • فعال کردن مقیاس:

    • امکان اجرای چندین دستگاه به صورت موازی را فراهم می کند.
    • اجرای همزمان تست را با وفاداری بالا با هزینه کمتری برای ورود فعال کنید.
  • ارائه یک دستگاه قابل تنظیم با قابلیت تنظیم فرم فاکتور، رم، CPU و غیره.

مقایسه کوتل ماهی با دستگاه های دیگر

بازی Cuttlefish و شبیه ساز اندروید

شباهت های زیادی با شبیه ساز اندروید وجود دارد، اما Cuttlefish وفاداری کامل را با فریم ورک اندروید تضمین می کند (خواه این AOSP خالص باشد یا یک پیاده سازی سفارشی در درخت خود شما). در برنامه های دنیای واقعی، این بدان معنی است که باید انتظار داشته باشید که Cuttlefish به تعاملات شما در سطح سیستم عامل پاسخ دهد، درست مانند یک هدف تلفن فیزیکی که با همان منبع سفارشی یا خالص سیستم عامل اندروید ساخته شده است.

شبیه ساز اندروید بر اساس موارد استفاده برای آسان کردن توسعه برنامه ساخته شده است و حاوی قلاب های کاربردی بسیاری است تا به موارد استفاده توسعه دهندگان برنامه اندروید جذابیت داشته باشد. اگر بخواهید یک شبیه ساز با فریم ورک اندروید سفارشی خود بسازید، ممکن است چالش هایی ایجاد کند. اگر به یک دستگاه مجازی نیاز دارید که نماینده پلتفرم / کد چارچوب سفارشی یا اندروید نوک درخت شما باشد، Cuttlefish یک گزینه مجازی ایده آل است. این دستگاه متعارف برای نمایش وضعیت فعلی توسعه AOSP است.

سگ ماهی و دستگاه فیزیکی

تفاوت اصلی بین دستگاه مجازی Cuttlefish و دستگاه فیزیکی شما در سطح لایه انتزاعی سخت افزاری (HAL) و همچنین هر نرم افزاری است که با هر سخت افزار سفارشی تعامل دارد. به جز پیاده‌سازی‌های سخت‌افزاری خاص، باید از نظر عملکردی رفتاری معادل بین Cuttlefish و یک دستگاه فیزیکی داشته باشید.

چگونه سگ ماهی می تواند کمک کند؟

شما می توانید با Cuttlefish مانند هر دستگاه اندرویدی دیگری که ممکن است برای اشکال زدایی از آن استفاده کنید تعامل داشته باشید. خود را به عنوان یک دستگاه عادی از طریق adb ثبت می کند و می توانید مانند یک دستگاه فیزیکی از طریق دسکتاپ از راه دور با آن تعامل داشته باشید. موارد استفاده گسترده است و می تواند شامل تست برنامه، آزمایش ساخت سیستم سفارشی و موارد دیگر باشد.

از آنجایی که Cuttlefish برای وفاداری کامل چارچوب تلاش می‌کند، می‌تواند برای آزمایش عملکردی چارچوب و/یا برنامه‌هایی که هیچ وابستگی فیزیکی سخت‌افزاری وجود ندارد که شبیه‌سازی آن غیرممکن باشد، استفاده شود.

امروزه چگونه معمولاً برای آزمایش استفاده می شود؟

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

  • سی تی اس
  • انطباق با چارچوب
  • تست ادغام مداوم
  • مجموعه های تست سفارشی

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

بله، Cuttlefish به طور بومی از Google Cloud پشتیبانی می کند و پشتیبانی از سایر پلتفرم های ابری برنامه ریزی شده است.

شروع شدن

برای راهنمایی در مورد ایجاد نمونه Cuttlefish بر اساس AOSP به راهنمای شروع کار مراجعه کنید.