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

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

أهداف الحبار

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

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

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

الحبار ومحاكي أندرويد

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

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

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

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

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

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

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

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

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

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

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

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

ابدء

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

,

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

أهداف الحبار

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

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

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

الحبار ومحاكي أندرويد

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

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

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

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

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

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

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

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

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

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

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

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

ابدء

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