أجهزة Android الافتراضية لسمكة الحبار

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

أهداف حبَّار

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

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

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

حبَّار ومحاكي Android

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

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

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

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

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

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

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

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

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

  • مجموعة أدوات اختبار التوافق (CTS)
  • الامتثال لإطار العمل
  • اختبار التكامل المستمر
  • مجموعات اختبار مخصّصة

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

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

البدء

للحصول على إرشادات حول إنشاء مثيل حبَّار استنادًا إلى بروتوكول AOSP، يمكنك الاطّلاع على استخدام الحبار.