Upload
droidcon-berlin
View
478
Download
0
Embed Size (px)
Citation preview
KÁMEL LAJILI
Sr. Application Development Consultant
@KLAJILI
The BlackBerry10 Android Runtime
BlackBerry 10 SDKs
C++/Qt
Cascades ActionScript
Adobe® AIR® HTML5 BlackBerry®
WebWorks™
C/C++
Native SDK
Java
Android™
Runtime
What is the Android Runtime?
3
4
• It’s Android Open source
v2.3.3 aka “Gingerbread”
Application Framework running
on top of BlackBerry10 OS
• Enables ported Android apps
to be installed and run
• Deep integration with BB
native framework with the
objective to make Android
apps indistinguishable from
native apps
Core Android Apps Application Framework
Activity Mgr
Package Mgr Resource Mgr
Window Mgr View System
Location Mgr
Notification Mgr
Core Apps App 1 ….
BlackBerry 10 OS
Surface Mgr
WebKit
FreeType SGL
SSL
SQLite
OpenGL ES
Media Fwk libc
Java Runtime
Dalvik Virtual Machine
Core Libraries
Library
App 2 App 3
What is the Android Runtime?
• 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
What is the Android Runtime? Compatibility & Limitations
BlackBerry 10 Features
6
Usability and Compatibility
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
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
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
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
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
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
BlackBerry 10 Features Want to use Maps?
13
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
BlackBerry 10 Features Want to use In-App Payments?
14
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
BlackBerry 10 Features Want to use Push?
Development Basics
Convert, Sign and Submit!
15
Tools
Online Conversion Tool - Quickest way to get apps converted
Eclipse Plug-in - For most Android developers
Command-line Tools - Advanced development options
Simulators - BlackBerry PlayBook and BlackBerry 10
Basic concepts
Code Signing
Development Debug Tokens
16
Development Basics Simple Process
17
Converting Existing Apps Online Conversion Tool
► Select the location of your APK file
► Select the location of your Android SDK folder
18
Converting Existing Apps Online Conversion Tool
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
• ADT Plug-in for Eclipse + BlackBerry Plug-in for ADT
20
► 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
Converting Existing Apps Eclipse Plug-in for Android 1.5
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
Converting Existing Apps Eclipse Plug-in for Android 1.5.2
Repackage your APK to a BAR file in 4 easy steps…
1) Check your APK for compatibility
apk2barVerifier
2) Repackage your APK file as a BAR
apk2bar
3) Sign your application
batchbar-signer
4) Deploy your application
blackberry-deploy
22
C:\Program Files\Android\android-sdk\bin> apk2barVerifier HelloWorld.apk C:\Program Files\Android\android-sdk\bin> apk2bar HelloWorld.apk C:\Program Files\Android\android-sdk\bin> batchbar-signer HelloWorld.bar author.p12 p12password rdkpassword C:\Program Files\Android\android-sdk\bin> blackberry-deploy –installApp –device 169.254.0.1 –package HelloWorld.bar –password devicepassword
Development Basics Command-line SDK
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
Development Basics Common Verification Errors
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
Converting Existing Apps Sign Apps for 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
Development Basics Submit to BlackBerry World
25
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/preparing_your_app_for_blackberry_world.html
Development Basics Submit to BlackBerry World
26
• 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
Success Stories
28
Success Stories
Songza
29
Success Stories
30
Success Stories
Photo Studio
31
Success Stories
For More Information…
BlackBerry Runtime for Android apps homepage
http://developer.blackberry.com/android/
BlackBerry Runtime for Android apps Roadmap
http://developer.blackberry.com/android/tools/roadmap/
Repackaging and Development Tools
http://developer.blackberry.com/android/tools/
Getting started tutorial
http://developer.blackberry.com/android/documentation/gettingstarted.html
32