4. 4
What is the Android Runtime?
Core Apps App 1 App 2 App 3 …. • It’s Android Open source
Application Framework v2.3.3 aka “Gingerbread”
Core Android Apps
Activity Mgr Window Mgr View System Notification Mgr
Application Framework running
Package Mgr Resource Mgr Location Mgr
on top of BlackBerry10 OS
Library Java Runtime
• Enables ported Android apps
FreeType SGL Core Libraries to be installed and run
WebKit OpenGL ES
Dalvik Virtual Machine
Surface Mgr SQLite • Deep integration with BB
Media Fwk SSL libc native framework with the
BlackBerry 10 OS
objective to make Android
apps indistinguishable from
native apps
5. What is the Android Runtime?
Compatibility & Limitations
• About 70% of all Android apps are compatible today
• Not all Android APIs are supported
► Hardware (BT, NFC, …) and OS limitations (JNI)
• Android Apps are limited to the personal perimeter
► No Enterprise support
• Full compatibility list see:
► http://developer.blackberry.com/android/apisupport
5
7. BlackBerry 10 Features
Improved Usability
Text input controls are now integrated
with the BlackBerry 10 virtual keyboard
Support for notifications
Integrated with BlackBerry Hub and as a splat on
your application icon
Multimedia sync
Multimedia created using Android apps is visible to
native BlackBerry 10 multimedia applications. This
includes pictures and videos
7
8. BlackBerry 10 Features
Improved Usability
New intent support for BlackBerry 10
apps and cards
Share via Email or SMS
Create Calendar appointments
Add information to Contacts
Contact Picker
Launch links via native Browser
Dialer Support
File Picker
8
9. BlackBerry 10 Features
Improved Compatibility
New API support in BlackBerry 10
Runtime for Android Apps
Camera API
Camera Flash API
Camera AutoFocus API
In-App Payment API
C2DM/GCM Support
Ambient Light API
Proximity sensor API
Telephony APIs* (Not all supported)
9
10. BlackBerry 10 Features
BlackBerry Runtime for Android Apps
Support for Keyboard devices
Continued support for Android Runtime
Support for 720x720 screen resolution
QWERTY keyboard support
10
11. BlackBerry 10 Features
Want to use Maps?
Support for location based intents to display maps
Use WebView + web services (Google, Bing, etc.) to
display map content within apps
More details on mapping support can be found on the
API Support Page
http://developer.blackberry.com/android/apisupport
11
12. BlackBerry 10 Features
Want to use Maps?
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
WebView webView = (WebView) findViewById(R.id.mywebview);
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl("http://maps.google.com/?ll=36.97,-
122&lci=bike&z=13&t=p");
}
12
13. BlackBerry 10 Features
Want to use In-App Payments?
In-App Payments supported through BlackBerry World
Use the same Digital Good SKUs used for Item IDs in the Android
payment system
Couple of items to remember:
Only one purchase can be made at a time (No concurrent transactions)
Refunds are not supported
Subscriptions are not supported
Transaction responses are not signed (use e.g.
java.lang.System.getProperty("os.name").equals("qnx"))
http://developer.blackberry.com/android/apisupport
13
14. BlackBerry 10 Features
Want to use Push?
Push support for Cloud to Device Messaging(C2DM) and
Google Cloud Messaging(GCM)
To create a push-enabled Android app, you need to:
Register with the Push Service to get push capability for your
signing keys
Create the configuration file and zip it to your bar file
Specify Push as a required permission in the .bar file's manifest
file
On the push-initiator server side, format the data to be sent to
BlackBerry application servers instead of Google application
servers
http://developer.blackberry.com/android/apisupport 14
19. Converting Existing Apps
Online Conversion Tool
► Warnings range
from mild (level 1) to
severe (level 5)
► Apps that receive
warnings less than
level 2 are considered
compatible
► Apps which receive
warnings of level 2 or
higher are generally
considered to be
incompatible
19
20. Converting Existing Apps
Eclipse Plug-in for Android 1.5
• ADT Plug-in for Eclipse + BlackBerry Plug-in for ADT
► BlackBerry PlayBook,
BlackBerry 10 and
simulators are just another
device target for your
existing Android project
► Debugging applications on
BlackBerry just like on
other Android devices
20
21. Converting Existing Apps
Eclipse Plug-in for Android 1.5.2
What’s new in BlackBerry Plug-in for ADT
Support for Windows 8, Mountain Lion 10.8, Ubuntu 12.04
Added support for ADT 21.0.1
Icon size now includes support for xhpdi and hdpi Android icons
High resolution icons will be converted to 114x114 for BlackBerry 10
xhdpi 96x96 icons will be resized for PlayBook or BlackBerry 10 if
higher resolution icon is not present
Support for BAR manifest additions
21
22. Development Basics
Command-line SDK
Repackage your APK to a BAR file in 4 easy steps…
1) Check your APK for compatibility
apk2barVerifier C:Program FilesAndroidandroid-sdkbin>
apk2barVerifier HelloWorld.apk
2) Repackage your APK file as a BAR C:Program FilesAndroidandroid-sdkbin>
apk2bar HelloWorld.apk
apk2bar
C:Program FilesAndroidandroid-sdkbin>
batchbar-signer HelloWorld.bar author.p12
3) Sign your application p12password rdkpassword
batchbar-signer C:Program FilesAndroidandroid-sdkbin>
blackberry-deploy –installApp –device
169.254.0.1 –package HelloWorld.bar
4) Deploy your application –password devicepassword
blackberry-deploy
22
23. Development Basics
Common Verification Errors
When you run verification on your application, you might see
warnings or errors
These not errors. Features requiring minimal OS verison
uses-feature: android.hardware.camera:required minimal OS version=2.1:impact=2
uses-permission: com.google.android.c2dm.permission.RECEIVE:required minimal OS version=10.0.9:impact=2
uses-feature: android.hardware.telephony:required minimal OS version=10.0.6:impact=2
These are features not supported
native-code: armeabi:impact=5
uses-library: android.test.runner:impact=4
uses package: com.google.android.maps:impact=3
targetSdkVersion: 14 is higher than 10:impact=1
23
24. Converting Existing Apps
Sign Apps for BlackBerry World
A code signing key is required to test your app and to
publish your app to BlackBerry World
They can also be used to generate a debug token for
your BlackBerry PlayBook or BlackBerry 10 Device
Request code signing keys here
http://developer.blackberry.com/android/signingkey
24
25. Development Basics
Submit to BlackBerry World
FREE to register
No registration/submission fees.
None. $0.00
Global marketplace
70/30 revenue share
Credit card, PayPal, carrier
billing
Free and paid apps catalog
Integrated barcode scanning
25
26. Development Basics
Submit to BlackBerry World
What do you need to submit your application
Application for membership Account
Application and a great app name
Great description and details about your application
Create an icon, screen shots, vendor logo
App Icon – 480x480
App Screen Shots – 1280x720 or 720x720
Submit your app!
developer.blackberry.com/devzone/blackberryworld/prepar
ing_your_app_for_blackberry_world.html
26
27. Success Stories
• PineLake Communications on Porting Cubifice to
BlackBerry 10
Ported existing OpenGL
Android application
Porting process took 1 hour
25x more downloads in
BlackBerry World versus
Google Play
27