میتوانید از فروشگاه Google Play برای نصب برنامههای اندروید بر روی چندین Google Chromebook استفاده کنید. این سند کرومبوکها، کرومباکسها و کرومبیسهایی را که میتوانید روی آنها برنامههای Android نصب کنید، توضیح میدهد.
نمای کلی
اکثر گوشی های اندرویدی دارای چیپست ARM هستند. با این حال، بسیاری از دستگاههای ChromeOS از تراشههای x86 استفاده میکنند. تفاوت برای برنامه های اصلی نوشته شده در Kotlin یا Java مهم نیست. با این حال، برای برنامههایی که با کد اصلی نوشته شدهاند، از جمله آنهایی که با موتورهای بازی ساخته شدهاند، چیپست موجود در دستگاه میتواند نگرانی مهمی باشد.
در حالت ایدهآل، همه برنامهها و بازیهای دارای کد بومی با هر چهار ABI اصلی اندروید (رابط باینری برنامه) : armeabi-v7a (arm32)، arm64-v8a (arm64)، x86 (x86_32) و x86_64 ارسال میشوند. این بهترین عملکرد و کمترین مصرف باتری را برای هر دستگاه فراهم می کند. برای مثال، یک فایل build.gradle
مبتنی بر cmake ممکن است حاوی:
شیار
externalNativeBuild { cmake { abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64' } }
کاتلین
externalNativeBuild { cmake { abiFilters("armeabi-v7a", "arm64-v8a", "x86", "x86_64") } }
اندازه کیت بسته Android (APK).
هر ABI در یک APK یکپارچه اندازه خود را افزایش می دهد. این میتواند روی استفاده از دیسک کاربران، اندازه دانلود برنامه و اینکه آیا برنامه تحت تأثیر محدودیتهای اندازه فروشگاه Play قرار میگیرد یا خیر، تأثیر بگذارد. بهترین راه برای جلوگیری از این امر استفاده از Android App Bundles است.
App Bundles به شما امکان می دهد به راحتی هر چهار ABI را از داخل Android Studio بدون افزایش حجم دانلود برای کاربران خود باندل کنید. آنها همچنین بهره مندی از تحویل پویا را آسان می کنند و به کاربران اجازه می دهند محتوای بازی بزرگ را فقط در صورت درخواست دانلود کنند. اگر App Bundles برای شما امکان پذیر نیست، می توانید از چند APK قدیمی برای رفتارهای مشابه استفاده کنید.
ساخت های 32 بیتی و 64 بیتی
همه برنامه های اندروید باید نسخه ساخت 64 بیتی را ارائه دهند. ساخت 32 بیتی برای هر دو دستگاه ARM و x86 اختیاری است. برای اطلاعات بیشتر به مستندات Android 64 بیتی مراجعه کنید.
در حالی که تنها ارائه ساختهای 64 بیتی تعداد اهداف ساخت مورد نیاز و سطح آزمایش شما را کاهش میدهد، همچنین انواع دستگاههایی را که میتوانند بازی شما را اجرا کنند محدود میکند. برای مثال، به دلیل محدودیتهای سختافزاری دیگر، بسیاری از کرومبوکهای قدیمیتر با وجود داشتن پردازندههای ۶۴ بیتی، تنها میتوانند برنامههای اندروید ۳۲ بیتی را اجرا کنند. برای اطمینان از اینکه برنامه شما میتواند روی این دستگاهها اجرا شود، از پشتیبانی 32 و 64 بیتی استفاده کنید.
ترجمه ARM
دستگاههای Chromebook x86 سعی میکنند تا حد امکان کد ARM را ترجمه کنند، اما ترجمه عملکرد را کاهش میدهد و مصرف باتری را افزایش میدهد. برای بهترین تجربه کاربری، بیلدهای x86 را ارائه دهید. اگر نمیتوانید، هر دو arm32 و arm64 ABI را در ساختهای خود قرار دهید، زیرا ممکن است برخی از Chromebookهای x86 کد arm64 را ترجمه نکنند.
اگرچه ترجمه arm32 در همه کرومبوکهای دارای Android در دسترس است، اما همه Chromebookها نمیتوانند کد arm64 را ترجمه کنند. این بدان معناست که اگر بازی شما فقط دارای اهداف ساخت arm64 باشد، برای تعداد زیادی از دستگاههای ChromeOS در دسترس نیست. اگر نمیتوانید باینریهای x86 را ارسال کنید، هر دو ABI arm32 و arm64 را در ساختهای خود قرار دهید.
شامل ABI ها | پشتیبانی از ChromeOS |
---|---|
بازو64 | بیچاره |
arm32 و arm64 | خوب (با ترجمه) |
arm32، arm64، x86_32، و x86_64 | بهترین |