توافق التطبيقات مع أجهزة 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 |
الأفضل |
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["# ChromeOS device support for apps\n\nYou can use the Google Play Store to install Android apps on several Google\nChromebooks. This document describes the Chromebooks, Chromeboxes, and\nChromebases on which you can install Android apps.\n\nOverview\n--------\n\n\nMost Android phones have ARM chipsets. However, many ChromeOS devices use x86 chips.\nThe difference is not important for basic apps written in Kotlin or Java.\nHowever, for apps written in native code, including those created with game\nengines, the chipset in the device can be an important concern.\n\n\nIdeally, all apps and games with native code ship with all four major Android\n[ABIs (Application Binary Interfaces)](https://developer.android.com/ndk/guides/abis):\narmeabi-v7a (arm32), arm64-v8a (arm64), x86 (x86_32), and x86_64. This provides the best performance\nand lowest battery consumption for each device. For example, a cmake-based `build.gradle`\nfile might contain: \n\n### Groovy\n\n```groovy\nexternalNativeBuild {\n cmake {\n abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'\n }\n}\n```\n\n### Kotlin\n\n```kotlin\nexternalNativeBuild {\n cmake {\n abiFilters(\"armeabi-v7a\", \"arm64-v8a\", \"x86\", \"x86_64\")\n }\n}\n```\n\nAndroid Package Kit (APK) size\n------------------------------\n\n\nEach ABI in a monolithic APK increases its size. This can affect\nyour users' disk usage, the app download size, and whether the app is affected\nby the Play Store size limits. The best way to avoid this is to use\n[Android App Bundles](https://developer.android.com/guide/app-bundle).\n\n\nApp Bundles\nlet you easily bundle all four ABIs from within Android Studio without increasing the\ndownload size for your users. They also make it easy to take advantage of [Dynamic Delivery](https://developer.android.com/guide/app-bundle/dynamic-delivery),\nletting users download large game content only when requested. If App Bundles are not a possibility\nfor you, you can use the older [multi-APK](https://developer.android.com/google/play/publishing/multiple-apks) for\nsimilar behaviour.\n\n32-bit and 64-bit builds\n------------------------\n\n\nAll Android apps must provide a 64-bit build version. A 32-bit build is optional for both ARM and\nx86 devices. See the [Android 64-bit\ndocumentation](https://developer.android.com/distribute/best-practices/develop/64-bit) for more information.\n\n\nWhile only providing 64-bit builds reduces the number of build targets needed and your\ntesting surface, it also limits the kinds of devices that can run your game.\nFor\nexample, due to other hardware limitations, many older Chromebooks can only run 32-bit Android\napps, despite having 64-bit CPUs. To ensure your app can run on these devices, include\nboth 32 and 64-bit support.\n\nARM translation\n---------------\n\n\nx86 Chromebooks try to translate ARM code whenever possible, but\ntranslation slows performance and increases battery usage. For the best user\nexperience, provide x86 builds. If you can't, then include both arm32 and arm64 ABIs in\nyour builds, because some x86 Chromebooks might not translate arm64 code.\n\n\nAlthough arm32 translation is available on all Android-capable Chromebooks, not all Chromebooks\ncan translate arm64 code. This means that if your game only has arm64 build targets,\nit isn't available for a large number of ChromeOS devices. If you are unable to ship\nx86 binaries, include both arm32 and arm64 ABIs in your builds.\n\n| Included ABIs | Support for ChromeOS |\n|----------------------------------|-----------------------|\n| arm64 | Poor |\n| arm32 and arm64 | OK (with translation) |\n| arm32, arm64, x86_32, and x86_64 | Best |"]]