开发者控制台

BlackBerry 10上的Android


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设备作为目标设备的应用,亚马逊的应用测试服务将无法识别其潜在问题。应该改用上文提到的一种或多种测试方法,让您的应用做好提交至亚马逊应用商店的准备。

详细信息

有关更多信息,请参阅: