BlackBerry 10上的Android
系统概述
BlackBerry 10是基于QNX的专有操作系统。除原生核心系统应用和服务外,BlackBerry 10还包含了BlackBerry Runtime for Android应用,它由运行在QNX微内核之上的开源Android应用框架组成。BlackBerry 10核心操作系统服务和框架被映射到Android运行时,以允许访问Android设备上普遍可用的硬件和软件服务。Android应用通过Dalvik打开并运行。
下图描述了BlackBerry 10操作系统的组织结构:
开发适用于BlackBerry 10设备的Android应用
BlackBerry 10操作系统v10.3可以运行为Android 4.3(Jelly Bean MR2、API级别18)及更早版本编写的应用。
BlackBerry Runtime for Android应用可以处理使用Android NDK(原生开发工具包)编写的应用,因此使用原生C/C++代码的应用可以运行,但须遵循在Android原生支持中提到的一些限制。
使用Momentics IDE和Cascades SDK编写的BlackBerry 10应用允许BlackBerry开发者通过在Java中重写或使用Android NDK将原生C/C++代码移植到Android SDK,从而让应用登陆Android和亚马逊应用商店。
一般来说,开发者对BlackBerry 10设备应采用与其他Android设备相同的设备定向方法,但应注意,某些Google Play服务和某些特定API不受支持。如需查看不支持的设备列表,请参阅功能和不支持的API。
特定于亚马逊的API和服务
下表介绍了BlackBerry 10设备对特定于亚马逊的API的支持情况:
亚马逊API | 描述 |
---|---|
Amazon Drive | 支持。 |
Amazon Device Messaging | BlackBerry设备上运行的应用不支持Amazon Device Messaging。如果您的应用会使用此API,请删除需要使用这些服务的功能,或对其进行修改以实现优雅降级。如果您对应用进行修改以实现优雅降级,请考虑使用错误消息,例如:**此功能当前在此设备上不可用。** |
应用内购买 | 支持应用内购买API v2。 |
Login with Amazon | 目前暂不支持。 |
地图 API v2 | BlackBerry设备上运行的应用不支持Amazon Maps。如果应用需要使用地图API,你可以使用OpenStreet Maps,它支持谷歌地图v1提供的功能。有关更多信息,请参阅[地图支持](https://developer.blackberry.com/android/apisupport/apisupport_mapping_support.html)。 |
移动广告 | 支持。 |
Mobile Associates | 支持。 |
其他API和服务
有关特定于BlackBerry的API的信息,请参阅功能和不支持的API。
第三方广告网络支持: BlackBerry设备支持包含了用于显示横幅广告和跟踪点击率的WebView组件的应用。
Adobe AIR: 从BlackBerry 10.3.1开始,不再支持Adobe AIR。如果应用需要使用Adobe AIR,请将应用构建为Android应用,或者使用BlackBerry WebWorks将应用移植到HTML5。有关更多信息,请参阅支持结束通知。
Google Play服务: BlackBerry设备上运行的应用无法访问Google Play服务。如果您的应用会访问Google Play服务,请删除需要使用这些服务的功能,或对其进行修改以实现优雅降级。如果您对应用进行修改以实现优雅降级,请考虑使用错误消息,例如: 此功能当前在此设备上不可用。
测试
在亚马逊应用商店上发布之前,可通过几种方法在BlackBerry 10模拟器或设备上测试Android应用。
- BlackBerry 10设备模拟器: 如果没有实体BlackBerry 10设备,可以使用BlackBerry 10设备模拟器来测试应用。请注意,为Android NDK编写的应用不能在模拟器上运行。
- Android应用命令行工具: 借助BlackBerry的Android应用命令行工具,您可以验证、重新打包和签署适用于BlackBerry 10平台的Android应用。
- 您选择的IDE: 通过您选择的IDE,BlackBerry ADB Proxy Manager作为Android应用命令行工具的组成部分,可以用于运行和调试应用。BlackBerry ADB Proxy Manager同时支持实体设备和模拟器。
- 动态应用测试: 动态应用测试是一项免费亚马逊服务,允许将应用的测试版本分发给您选择的测试人员。
由于BlackBerry 10有自己的不支持的API列表(请参阅功能和不支持的API),对于将BlackBerry 10设备作为目标设备的应用,亚马逊的应用测试服务将无法识别其潜在问题。应该改用上文提到的一种或多种测试方法,让您的应用做好提交至亚马逊应用商店的准备。
详细信息
有关更多信息,请参阅: