توافق التطبيقات مع أجهزة ChromeOS

يمكنك استخدام "متجر Google Play" لتثبيت تطبيقات Android على العديد من أجهزة Chromebook تصف هذه الوثيقة أجهزة Chromebook وChromeboxes Chromebase التي يمكنك تثبيت تطبيقات Android عليها.

نظرة عامة

تحتوي معظم هواتف Android على شرائح ARM. ومع ذلك، تستخدم العديد من أجهزة ChromeOS الشرائح x86. وهذا الاختلاف ليس مهمًا للتطبيقات الأساسية المكتوبة بلغة Kotlin أو Java. ومع ذلك، بالنسبة إلى التطبيقات المكتوبة برمز برمجي أصلي، بما في ذلك التطبيقات التي تم إنشاؤها باستخدام الألعاب محركات البحث، يمكن أن تكون مجموعة الشرائح في الجهاز مصدر قلق مهمًا.

وفي الوضع المثالي، يتم تضمين جميع التطبيقات والألعاب ذات الرموز البرمجية الأصلية في أنظمة تشغيل Android الأربعة الرئيسية واجهات برمجة التطبيقات الثنائية (ABI): وarmeabi-v7a (arm32) و arm64-v8a (arm64) وx86 (x86_32) وx86_64. يوفّر لك ذلك أفضل أداء. وأقل استهلاك للبطارية لكل جهاز. على سبيل المثال، يمكنك إنشاء build.gradle المستندة إلى تنسيق cmake قد يحتوي الملف على:

Groovy

externalNativeBuild {
    cmake {
        abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
    }
}

Kotlin

externalNativeBuild {
    cmake {
        abiFilters("armeabi-v7a", "arm64-v8a", "x86", "x86_64")
    }
}

حجم حزمة Android Package Kit (APK)

يزيد حجم كل واجهة تطبيق ثنائية (ABI) في حزمة APK موحّدة. وقد يؤثر ذلك في استخدام المستخدمين للقرص وحجم تنزيل التطبيق وما إذا كان التطبيق متأثرًا وفقًا لحدود حجم متجر Play. إن أفضل طريقة لتجنب ذلك هي استخدام مجموعة حزمات تطبيق Android:

حِزم التطبيقات إمكانية تجميع واجهات ABI الأربعة بسهولة من داخل "استوديو Android" بدون زيادة حجم التنزيل للمستخدمين. وتسهّل أيضًا الاستفادة من العرض الديناميكي، السماح للمستخدمين بتنزيل محتوى ألعاب كبير الحجم فقط عند طلبهم. في حال لم يكن بالإمكان استخدام حِزم التطبيقات يمكنك استخدام حِزمة APK قديمة سلوك مماثل.

الإصدارات 32 بت و64 بت

يجب أن توفّر جميع تطبيقات Android إصدار 64 بت من الإصدار. يكون الإصدار 32 بت اختياريًا لكل من معالجات ARM أجهزة x86. يمكنك الاطّلاع على الإصدار 64 بت من نظام التشغيل Android المستندات⁠ لمزيد من المعلومات.

على الرغم من أن توفير إصدارات 64 بت فقط يؤدي إلى تقليل عدد أهداف الإصدار المطلوبة مساحة الاختبار، بل يحدّ أيضًا من أنواع الأجهزة التي يمكنها تشغيل لعبتك. بالنسبة على سبيل المثال، وبسبب قيود أخرى على الأجهزة، لا تستطيع العديد من أجهزة Chromebook القديمة تشغيل سوى 32 بت من أجهزة Android التطبيقات، على الرغم من وجود وحدات معالجة مركزية بها 64 بت. لضمان إمكانية تشغيل تطبيقك على هذه الأجهزة، عليك تضمين دعم كل من 32 و64 بت.

ترجمة ARM

تحاول أجهزة x86 Chromebook ترجمة رمز ARM متى أمكن ذلك، فإن الترجمة تؤدي إلى إبطاء الأداء وزيادة استخدام البطارية. لأفضل مستخدم الخبرة، توفر إصدارات x86. إذا لم تتمكّن من ذلك، عليك تضمين واجهات التطبيق الثنائية (ABI) في التجربة 32 ومعرّف الأمان 64 (ABI) في المجموعة. تصميماتك، لأن بعض أجهزة Chromebook بتنسيق x86 قد لا تترجم رمز Arm64.

على الرغم من توفُّر ترجمة Arm32 على جميع أجهزة Chromebook التي تشتمِل على نظام Android، فليس على بعض أجهزة Chromebook يمكنني ترجمة رمز Arm64. يعني هذا أنّه إذا كانت لعبتك تتضمّن فقط أهداف الإصدار 64، لا تتوفّر لعدد كبير من أجهزة ChromeOS. إذا لم تتمكّن من الشحن تتضمن قيمًا ثنائية بتنسيق x86، تضم كلاً من واجهات التطبيق الثنائية (ABI) التي تنتمي إلى أقسام الموقع الإلكتروني arm32 وعدة مواصفات لعناصر الجذب 64 في إصداراتك.

واجهات التطبيق الثنائية (ABI) المضمّنة التوافق مع نظام التشغيل ChromeOS
مجموعة التجربة 64 متدنية
Arm32 و arm64 حَسَنًا (مع الترجمة)
Arm32 و arm64 وx86_32 وx86_64 الأفضل