Android on BlackBerry 10

System Overview

BlackBerry 10 is a proprietary QNX-based operating system. In addition to native core system apps and services, BlackBerry 10 includes the BlackBerry Runtime for Android Apps, which consists of the open-sourced Android application framework running on top of the QNX microkernel. BlackBerry 10 core operating system services and frameworks are mapped to the Android runtime to allow access to hardware and software services that are generally available on Android devices. Android apps are opened and run via Dalvik.

The following picture depicts the organization of the BlackBerry 10 operating system:

Developing Android Apps for BlackBerry 10 Devices

Version 10.3 of the BlackBerry 10 operating system can run apps written for Android 4.3 (Jelly Bean MR2, API level 18) and earlier.

The BlackBerry Runtime for Android Apps can handle apps written with the Android NDK (Native Development Kit), so that apps that make use of native C/C++ code will work with a few limitations noted in Android Native Support.

BlackBerry developers who have a BlackBerry 10 app written using the Momentics IDE and Cascades SDK can bring their app to Android and the Amazon Appstore by porting their native C/C++ code to the Android SDK, either by rewriting it in Java or making use of the Android NDK.

In general, developers should target BlackBerry 10 devices as they would any other Android device with the caveat that certain Google Play Services and some specific APIs are not supported. See Features and Unsupported APIs for a list of unsupported services.

Amazon-specific APIs and Services

The following table describes the support for Amazon-specific APIs on BlackBerry 10 devices:

Amazon API Description
Amazon Drive Supported.
Amazon Device Messaging Apps that run on BlackBerry devices do not support Amazon Device Messaging. If your app uses this API, either remove the features that require these services, or modify them to degrade gracefully. If you modify your app to degrade gracefully, consider using an error message such as: **This feature is not currently available on this device.**
GameCircle Not currently supported.
In-App Purchasing Version 2 of the In-App Purchasing API are supported.
Login with Amazon Not currently supported.
Maps API v2 Apps that run on BlackBerry devices do not support Amazon Maps. If your app requires a maps API, you can use OpenStreet Maps, which supports the functionality offered by version 1 of Google Maps. See [Mapping support](https://developer.blackberry.com/android/apisupport/apisupport_mapping_support.html) for more information.
Mobile Ads Supported.
Mobile Associates Supported.

Other APIs and Services

For BlackBerry-specific API information, see Features and Unsupported APIs.

Third-Party Ad Networks Support: Apps that contain a WebView component to display a banner ad and track the click-through are supported by BlackBerry devices.

Adobe AIR: As of BlackBerry 10.3.1, Adobe AIR is no longer supported. If your app requires Adobe AIR, build your app as an Android app, or use BlackBerry WebWorks to port your app to HTML5. For more information, see End of Support Notice.

Google Play Services: Apps running on BlackBerry devices do not have access to Google Play Services. If your app accesses Google Play Services, either remove the features that require these services, or modify them to degrade gracefully. If you modify your app to degrade gracefully, consider using an error message such as: This feature is not currently available on this device.

Testing

There are several ways to test your Android app on a BlackBerry 10 simulator or device, prior to publishing on the Amazon Appstore.

  • BlackBerry 10 Device Simulator: If you don't have a physical BlackBerry 10 device, you can use the BlackBerry 10 device simulator to test your app. Note that apps written for the Android NDK won't work with the simulator.
  • Command-line Tools for Android Apps: BlackBerry's command-line tools for Android apps allows you to verify, repackage, and sign your Android apps for the BlackBerry 10 platform.
  • Your IDE of choice: You can use the BlackBerry ADB Proxy Manager, available as part of the command-line tools for Android apps, to run and debug your app through your IDE of choice. The BlackBerry ADB Proxy Manager supports both physical devices and the simulator.
  • Live App Testing: Live App Testing is a free Amazon service that allows you to distribute test versions of an app to testers of your choice.

Because BlackBerry 10 has its own list of unsupported APIs (see Features and Unsupported APIs), Amazon's App Testing Service will not work to identify potential issues with apps targeting BlackBerry 10 devices. You should instead use one or more of the testing methods mentioned above to prepare your app for submission to the Amazon Appstore.

Further Information

For more information, see: