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

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

نظرة عامة

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

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

رائع

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.

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

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

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

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

ترجمة ARM

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

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

واجهات ABI مضمّنة التوافق مع نظام التشغيل ChromeOS
ذراع64 غير جيد
Arm32 وrm64 حسنًا (مع ترجمة)
ذراع 32 و Arm64 وx86_32 وx86_64 مع أطيب التمنيات،