为了让您的 Android 应用在 Chromebook 上运行,您在应用准备阶段需考虑该应用所要使用的设备功能。Chromebook 不一定支持在其他 Android 设备上可用的软件和硬件功能。如果应用需要的特定功能在 Chromebook 上不受支持,就无法在 Chromebook 上安装。
您可以在清单文件中声明应用对硬件功能和特定软件功能的要求。本文档介绍了与 Chromebook 不兼容的应用清单功能声明。
不兼容的清单条目
本部分列出的清单条目目前与 Chromebook 不兼容。如果您的应用使用其中任一条目,请考虑将其移除或为其添加 required="false"
属性值,如此应用才可安装在 Chromebook 上。如需详细了解如何声明功能的使用而不要求设备提供该功能,请参阅 <uses-feature>
清单元素指南。有关应用清单功能和说明的完整列表,请参阅功能参考。
注意:Android Studio 2.3 及更高版本内置 lint 检查功能,可自动验证清单文件。在 Android Studio 中,依次选择 File > Settings > Editor > Inspections > Android > Lint > Correctness > Chrome OS。
硬件功能
对硬件功能的支持因 Chromebook 而异。有些功能在所有 Chromebook 上均不受支持,而有些功能则在部分 Chromebook 上受支持。
特殊功能
下表列出了为了获取更好的硬件支持而在 Chromebook 中添加的功能:
android.hardware.type.pc
- 停用鼠标和触控板的输入模拟功能。请注意,您必须指明required="false"
以防止应用只能在 Chromebook 上运行。
不受支持的硬件功能
下表列出了当前不受 Chromebook 支持的硬件功能:
-
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 Auto 界面 -
android.hardware.type.television
– 电视(已弃用) -
android.hardware.usb.accessory
– USB 配件模式 -
android.hardware.usb.host
– USB 主机模式
部分支持的硬件功能
下表列出了可能在某些 Chromebook 上受支持的硬件功能:
-
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
– 测步器
触摸屏硬件支持
从 Chrome 操作系统版本 M53 开始,没有明确要求 android.hardware.touchscreen
功能的所有 Android 应用也可以在支持 android.hardware.faketouch
功能的 Chrome 操作系统设备上运行。带有模拟触摸界面的设备为用户提供了一个可以模拟基本触摸事件的输入系统。例如,用户可与鼠标或遥控器交互,移动屏幕上的光标、滚动列表,以及将元素从屏幕的一个位置拖动到另一个位置。
如果您想要将应用安装在带有模拟触摸界面而不是触摸屏的设备上,请完成下列操作之一:
- 在 Google Play 管理中心中排除特定设备。
- 明确声明必须要有
android.hardware.touchscreen
才能安装应用,从而筛选不带触摸屏硬件的设备。
软件功能
下表列出了当前不受 Chromebook 支持的软件功能:
-
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.midi
– 支持连接乐器并提供声音的乐器数字化接口 (MIDI) 协议 -
android.software.sip
– 会话发起协议 (SIP) 服务,支持视频会议和即时通讯 -
android.software.sip.voip
– 支持双向视频会议的基于 SIP 的网际网络语音协议 (VoIP) 服务
隐含功能要求的权限
您在清单文件中请求的某些权限可能会隐含对某些硬件和软件功能的请求。请求这些权限会使应用无法安装在 Chromebook 上。
如需了解有关如何防止权限请求导致应用在 Chromebook 上不可用的详情,请参阅本页的不兼容的清单条目部分。
下表列出了隐含特定功能要求、会导致应用与 Chromebook 不兼容的权限:
表 1. 隐含与 Chromebook 不兼容的硬件功能的设备权限。
类别 | 权限… | ...隐含此功能要求 |
---|---|---|
相机 | 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_SMSREAD_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 |