همانطور که برنامه اندروید خود را برای اجرا در کرومبوکها آماده میکنید، ویژگیهای دستگاهی که برنامه شما از آن استفاده میکند را در نظر بگیرید. کرومبوکها از تمام ویژگیهای سختافزاری و نرمافزاری موجود در سایر دستگاههای دارای اندروید پشتیبانی نمیکنند. اگر برنامه شما به ویژگیهای خاصی نیاز دارد که در کرومبوکها پشتیبانی نمیشوند، برای نصب در کرومبوکها در دسترس نخواهد بود.
شما الزامات برنامه خود را برای ویژگیهای سختافزاری و برخی ویژگیهای نرمافزاری در فایل مانیفست اعلام میکنید. این سند، اعلانهای ویژگیهای مانیفست برنامه را که با کرومبوکها سازگار نیستند، شرح میدهد.
ورودیهای مانیفست ناسازگار
ورودیهای مانیفست ذکر شده در این بخش با کرومبوکها سازگار نیستند. اگر برنامه شما از هر یک از این ورودیها استفاده میکند، حذف آنها یا اضافه کردن مقدار ویژگی required="false" به آنها را در نظر بگیرید تا برنامه شما بتواند روی کرومبوکها نصب شود.
برای اطلاعات بیشتر در مورد اعلان استفاده از ویژگی بدون نیاز به در دسترس بودن آن ویژگی در دستگاه، به راهنمای عنصر مانیفست <uses-feature> مراجعه کنید. برای لیست کاملی از ویژگیها و توضیحات مانیفست برنامه، به مرجع ویژگیها مراجعه کنید.
نکته : اندروید استودیو دارای بررسیهای داخلی Lint برای اعتبارسنجی خودکار فایل مانیفست است. در اندروید استودیو، مسیر File > Settings > Editor > Inspections > Android > Lint > Correctness > ChromeOS را انتخاب کنید.
ویژگیهای سختافزاری
پشتیبانی از ویژگیهای سختافزاری در کرومبوکها متفاوت است. برخی از ویژگیها در هیچ کرومبوکی پشتیبانی نمیشوند، در حالی که برخی دیگر فقط در برخی از کرومبوکها پشتیبانی میشوند.
ویژگیهای خاص
برای پشتیبانی بهتر سختافزار در کرومبوکها، android.hardware.type.pc شبیهسازی ورودی برای ماوس و تاچپد را غیرفعال میکند. شما باید برای این ورودی required="false" را مشخص کنید، در غیر این صورت برنامه شما فقط میتواند روی کرومبوکها اجرا شود.
ویژگیهای سختافزاری پشتیبانی نشده
لیست زیر شامل ویژگیهای سختافزاری است که در کرومبوکها پشتیبانی نمیشوند:
-
android.hardware.camera: دوربین پشتی -
android.hardware.camera.autofocus: دوربینی که از فوکوس خودکار استفاده میکند -
android.hardware.camera.capability.manual_post_processing: دوربینی که از ویژگیMANUAL_POST_PROCESSINGاستفاده میکند، از جمله قابلیت لغو تراز سفیدی خودکار -
android.hardware.camera.capability.manual_sensor: دوربینی که از ویژگیMANUAL_SENSORاستفاده میکند، از جمله پشتیبانی از قفل نوردهی خودکار -
android.hardware.camera.capability.raw: دوربینی که از ویژگیRAWاستفاده میکند، از جمله قابلیت ذخیره فایلهای DNG (خام) و ارائه فرادادههای مربوط به DNG -
android.hardware.camera.flash: دوربینی که از فلش استفاده میکند -
android.hardware.camera.level.full: دوربینی که از پشتیبانیFULLبرای ثبت تصویر استفاده میکند -
android.hardware.consumerir: مادون قرمز (IR) -
android.hardware.location.gps: سیستم موقعیتیابی جهانی (GPS) -
android.hardware.nfc: ارتباط میدان نزدیک (NFC) -
android.hardware.nfc.hce: شبیهسازی کارت NFC که منسوخ شده است -
android.hardware.sensor.barometer: فشارسنج (فشار هوا) -
android.hardware.telephony: تلفن، شامل رادیو با سرویسهای ارتباط دادهای -
android.hardware.telephony.cdma: پشتیبانی از شبکه دسترسی چندگانه تقسیم کد (CDMA) تلفن -
android.hardware.telephony.gsm: پشتیبانی از شبکه تلفن همراه (GSM) -
android.hardware.type.automotive: دستگاه دارای سیستم عامل اندروید اتوموتیو -
android.hardware.type.television: تلویزیون، که منسوخ شده است -
android.hardware.usb.accessory: حالت لوازم جانبی USB -
android.hardware.usb.host: حالت میزبان USB
ویژگیهای سختافزاری تا حدی پشتیبانیشده
لیست زیر شامل ویژگیهای سختافزاری است که ممکن است در برخی از کرومبوکها موجود باشد:
-
android.hardware.sensor.accelerometer: شتابسنج (جهت دستگاه) -
android.hardware.sensor.compass: قطبنما -
android.hardware.sensor.gyroscope: ژیروسکوپ (چرخش و پیچش دستگاه) -
android.hardware.sensor.light: نور -
android.hardware.sensor.proximity: مجاورت (به کاربر) -
android.hardware.sensor.stepcounter: شمارنده گام -
android.hardware.sensor.stepdetector: آشکارساز گام
پشتیبانی از سختافزار صفحه لمسی
از نسخه M53 سیستمعامل کروم، تمام برنامههای اندروید که صراحتاً به ویژگی android.hardware.touchscreen نیاز ندارند، روی دستگاههای ChromeOS که از ویژگی android.hardware.faketouch پشتیبانی میکنند نیز کار میکنند.
دستگاههایی که رابطهای لمسی جعلی دارند، یک سیستم ورودی کاربر ارائه میدهند که رویدادهای لمسی پایه را شبیهسازی میکند. برای مثال، کاربر میتواند با ماوس یا کنترل از راه دور تعامل داشته باشد تا مکاننمای روی صفحه را حرکت دهد، در یک لیست پیمایش کند و عناصر را از یک قسمت صفحه به قسمت دیگر بکشد.
اگر نمیخواهید برنامهتان روی دستگاههایی که رابطهای لمسی جعلی دارند اما صفحه لمسی ندارند نصب شود، میتوانید یکی از اقدامات زیر را انجام دهید:
- دستگاههای خاصی را در کنسول گوگل پلی مستثنی کنید.
- دستگاههایی که سختافزار لمسی ندارند را با اعلام صریح
android.hardware.touchscreenبه عنوان مورد نیاز برای نصب برنامه خود، فیلتر کنید.
ویژگیهای نرمافزار
لیست زیر شامل ویژگیهای نرمافزاری است که در کرومبوکها پشتیبانی نمیشوند:
-
android.software.app_widgets: ویجتهای برنامه در صفحه اصلی -
android.software.device_admin: مدیریت سیاستهای دستگاه -
android.software.home_screen: جایگزین صفحه اصلی دستگاه میشود -
android.software.input_methods: متدهای ورودی سفارشی (نمونههایی ازInputMethodService) -
android.software.leanback: رابط کاربری طراحی شده برای مشاهده در صفحه نمایش بزرگ -
android.software.live_wallpaper: والپیپرهای متحرک -
android.software.live_tv: پخش زنده برنامههای تلویزیونی -
android.software.managed_users: کاربران ثانویه و پروفایلهای مدیریتشده -
android.software.sip: سرویس پروتکل شروع جلسه (SIP)، که از کنفرانس ویدیویی و پیامرسانی فوری پشتیبانی میکند. -
android.software.sip.voip: سرویس VoIP مبتنی بر SIP که از کنفرانس ویدیویی دو طرفه پشتیبانی میکند.
مجوزهایی که الزامات ویژگی را نشان میدهند
برخی از مجوزهایی که در فایلهای مانیفست خود درخواست میکنید، میتوانند درخواستهای ضمنی برای ویژگیهای سختافزاری و نرمافزاری ایجاد کنند. با درخواست این مجوزها، از نصب برنامه خود در کرومبوکها جلوگیری میکنید.
برای جزئیات بیشتر در مورد نحوه جلوگیری از درخواستهای مجوز که باعث از دسترس خارج شدن برنامه شما در کرومبوکها میشوند، به بخش ورودیهای مانیفست ناسازگار این صفحه مراجعه کنید.
جدول زیر مجوزهایی را نشان میدهد که دلالت بر الزامات ویژگی دارند و یک برنامه را با کرومبوکها ناسازگار میکنند:
جدول ۱. مجوزهای دستگاه که به ویژگیهای سختافزاری ناسازگار با کرومبوکها اشاره دارند.
| دسته بندی | این اجازه | دلالت بر این الزام ویژگی دارد |
|---|---|---|
| دوربین | CAMERA | android.hardware.camera وandroid.hardware.camera.autofocus |
| تلفن | CALL_PHONE | android.hardware.telephony |
CALL_PRIVILEGED | android.hardware.telephony | |
MODIFY_PHONE_STATE | android.hardware.telephony | |
PROCESS_OUTGOING_CALLS | android.hardware.telephony | |
READ_SMS | android.hardware.telephony | |
RECEIVE_SMS | android.hardware.telephony | |
RECEIVE_MMS | android.hardware.telephony | |
RECEIVE_WAP_PUSH | android.hardware.telephony | |
SEND_SMS | android.hardware.telephony | |
WRITE_APN_SETTINGS | android.hardware.telephony | |
WRITE_SMS | android.hardware.telephony |