在准备您的 Android 应用以在 Chromebook 上运行时,请考虑您的应用使用的设备功能。Chromebook 不支持在运行 Android 的其他设备上可用的所有硬件和软件功能。如果您的应用需要 Chromebook 不支持的特定功能,则它将无法在 Chromebook 上安装。
您在清单文件中声明了应用对硬件功能和某些软件功能的要求。本文档描述了与 Chromebook 不兼容的应用清单功能声明。
不兼容的清单条目
本节中列出的清单条目与 Chromebook 不兼容。如果您的应用使用任何这些条目,请考虑将其删除或在其中包含required="false"
属性值,以便您的应用可以安装在 Chromebook 上。
有关在不要求设备上提供该功能的情况下声明功能使用的更多信息,请参阅 <uses-feature>
清单元素的指南。有关应用清单功能和说明的完整列表,请参阅功能参考。
注意:Android Studio 2.3 及更高版本具有内置的 lint 检查,以自动验证清单文件。在 Android Studio 中,选择文件 > 设置 > 编辑器 > 检查 > Android > Lint > 正确性 > ChromeOS。
硬件功能
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 汽车操作系统设备 -
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
:步态检测器
触摸屏硬件支持
从 ChromeOS M53 版本开始,所有未明确要求 android.hardware.touchscreen
功能的 Android 应用,也可以在支持 android.hardware.faketouch
功能的 ChromeOS 设备上运行。
具有虚拟触摸界面的设备提供了模拟基本触摸事件的用户输入系统。例如,用户可以使用鼠标或遥控器移动屏幕上的光标、滚动列表以及将元素从屏幕的一个位置拖动到另一个位置。
如果您不希望您的应用安装在具有虚拟触摸界面但没有触摸屏的设备上,您可以完成以下操作之一
- 在 Google Play Console 中排除特定设备。
- 通过显式声明
android.hardware.touchscreen
为安装应用的必要条件,来过滤没有触摸屏硬件的设备。
软件功能
以下列表包含 Chromebook 不支持的软件功能
-
android.software.app_widgets
:主屏幕上的应用小部件 -
android.software.device_admin
:设备策略管理 -
android.software.home_screen
:替换设备的主屏幕 -
android.software.input_methods
:自定义输入法(InputMethodService
的实例) -
android.software.leanback
:专为大屏幕观看而设计的 UI -
android.software.live_wallpaper
:动态壁纸 -
android.software.live_tv
:流式直播电视节目 -
android.software.managed_users
:辅助用户和托管配置文件 -
android.software.sip
:会话发起协议 (SIP) 服务,支持视频会议和即时消息 -
android.software.sip.voip
:基于 SIP 的语音通话 (VoIP) 服务,支持双向视频会议
暗示功能需求的权限
您在清单文件中请求的一些权限可能会创建对硬件和软件功能的隐式请求。通过请求这些权限,您会阻止您的应用安装在 Chromebook 上。
有关如何防止权限请求使您的应用在 Chromebook 上不可用的详细信息,请参阅此页面上的 不兼容的清单条目 部分。
下表显示了暗示功能需求的权限,这些需求使应用与 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_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 |