أجهزة Android الافتراضية لـ Cuttlefish

ما هو الحبار؟

Cuttlefish هو جهاز Android افتراضي قابل للتكوين يمكنه تشغيله عن بُعد (باستخدام عروض السحابة الخارجية مثل Google Cloud Engine) ومحليًا (على أجهزة Linux x86).

أهداف الحبار

  • حرر النظام الأساسي ومطور التطبيق من الاعتماد على الأجهزة المادية لتطوير تغييرات التعليمات البرمجية والتحقق من صحتها.
  • قم بتكرار السلوك المستند إلى إطار العمل لجهاز حقيقي مع التركيز على الدقة العالية من خلال الحفاظ على التوافق الوثيق مع إطار العمل الأساسي.
  • دعم جميع مستويات API بعد 28.
  • توفير مستوى ثابت من الوظائف عبر مستويات API ، بما يتماشى مع السلوك على الأجهزة المادية.
  • تمكين المقياس:

    • توفير القدرة على تشغيل أجهزة متعددة بالتوازي.
    • قم بتمكين تنفيذ الاختبار المتزامن بدقة عالية وبتكلفة دخول أقل.
  • توفير جهاز قابل للتكوين مع القدرة على ضبط عامل الشكل ، وذاكرة الوصول العشوائي ، ووحدات المعالجة المركزية ، وما إلى ذلك.

مقارنة الحبار بالأجهزة الأخرى

الحبار ومحاكي Android

هناك العديد من أوجه التشابه مع Android Emulator ، لكن Cuttlefish تضمن الدقة الكاملة مع إطار عمل Android (سواء كان ذلك AOSP خالصًا أو تطبيقًا مخصصًا في شجرتك الخاصة). في التطبيق الواقعي ، هذا يعني أنه يجب أن تتوقع من Cuttlefish أن تستجيب لتفاعلاتك على مستوى نظام التشغيل تمامًا مثل هدف الهاتف الفعلي الذي تم إنشاؤه باستخدام نفس مصدر نظام التشغيل Android المخصص أو النقي.

تم تصميم Android Emulator حول حالة استخدام تجعل تطوير التطبيقات أمرًا سهلاً ، ويحتوي على العديد من الروابط الوظيفية لمناشدة حالات استخدام مطور تطبيقات Android. قد يمثل هذا تحديات إذا كنت ترغب في إنشاء محاكي باستخدام إطار عمل Android المخصص الخاص بك. إذا كنت بحاجة إلى جهاز افتراضي يمثل رمز النظام الأساسي / الإطار المخصص الخاص بك أو نظام Android ، فإن Cuttlefish يعد خيارًا افتراضيًا مثاليًا. إنه الجهاز الأساسي لتمثيل الحالة الحالية لتطوير AOSP.

الحبار والجهاز المادي

الاختلافات الأساسية بين الجهاز الظاهري لـ Cuttlefish وجهازك المادي هي على مستوى طبقة تجريد الأجهزة (HAL) ، بالإضافة إلى أي برنامج يتفاعل مع أي جهاز مخصص. باستثناء التطبيقات الخاصة بالأجهزة ، يجب أن تتوقع سلوكًا مكافئًا وظيفيًا بين الحبار والجهاز المادي.

كيف يمكن أن تساعد الحبار؟

يمكنك التفاعل مع Cuttlefish تمامًا كما تفعل مع أي جهاز Android آخر قد تستخدمه لتصحيح الأخطاء. سوف يسجل نفسه كجهاز عادي عبر adb ويمكنك التفاعل معه كجهاز مادي عبر سطح المكتب البعيد. حالات الاستخدام واسعة ويمكن أن تشمل اختبار التطبيق واختبار بناء النظام المخصص والمزيد.

نظرًا لأن الحبار يسعى للحصول على دقة إطار العمل الكامل ، يمكن استخدامه للاختبار الوظيفي لإطار العمل و / أو التطبيقات الخاصة بك حيث لا توجد تبعيات مادية للأجهزة من المستحيل محاكاتها.

كيف يستخدم الحبار عادة للاختبار اليوم؟

تتضمن بعض التطبيقات الشائعة لاختبار الحبار ما يلي:

  • CTS
  • الامتثال الإطاري
  • اختبار التكامل المستمر
  • مجموعات الاختبار المخصصة

هل يمكنني استضافة الحبار في السحابة؟

نعم ، يدعم Cuttlefish أصلاً Google Cloud ويتم التخطيط لدعم الأنظمة الأساسية السحابية الأخرى.

ابدء

راجع دليل البدء للحصول على إرشادات حول إنشاء مثيل لـ Cuttlefish استنادًا إلى AOSP.