33
KÁMEL LAJILI Sr. Application Development Consultant [email protected] @KLAJILI The BlackBerry10 Android Runtime

Droid con berlin_the_bb10_android_runtime

Embed Size (px)

Citation preview

Page 1: Droid con berlin_the_bb10_android_runtime

KÁMEL LAJILI

Sr. Application Development Consultant

[email protected]

@KLAJILI

The BlackBerry10 Android Runtime

Page 2: Droid con berlin_the_bb10_android_runtime

BlackBerry 10 SDKs

C++/Qt

Cascades ActionScript

Adobe® AIR® HTML5 BlackBerry®

WebWorks™

C/C++

Native SDK

Java

Android™

Runtime

Page 3: Droid con berlin_the_bb10_android_runtime

What is the Android Runtime?

3

Page 4: Droid con berlin_the_bb10_android_runtime

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?

Page 5: Droid con berlin_the_bb10_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

Page 6: Droid con berlin_the_bb10_android_runtime

BlackBerry 10 Features

6

Usability and Compatibility

Page 7: Droid con berlin_the_bb10_android_runtime

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

Page 8: Droid con berlin_the_bb10_android_runtime

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

Page 9: Droid con berlin_the_bb10_android_runtime

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

Page 10: Droid con berlin_the_bb10_android_runtime

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

Page 11: Droid con berlin_the_bb10_android_runtime

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?

Page 12: Droid con berlin_the_bb10_android_runtime

@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?

Page 13: Droid con berlin_the_bb10_android_runtime

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?

Page 14: Droid con berlin_the_bb10_android_runtime

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?

Page 15: Droid con berlin_the_bb10_android_runtime

Development Basics

Convert, Sign and Submit!

15

Page 16: Droid con berlin_the_bb10_android_runtime

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

Page 17: Droid con berlin_the_bb10_android_runtime

17

Converting Existing Apps Online Conversion Tool

► Select the location of your APK file

► Select the location of your Android SDK folder

Page 18: Droid con berlin_the_bb10_android_runtime

18

Converting Existing Apps Online Conversion Tool

Page 19: Droid con berlin_the_bb10_android_runtime

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

Page 20: Droid con berlin_the_bb10_android_runtime

• 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

Page 21: Droid con berlin_the_bb10_android_runtime

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

Page 22: Droid con berlin_the_bb10_android_runtime

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

Page 23: Droid con berlin_the_bb10_android_runtime

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

Page 24: Droid con berlin_the_bb10_android_runtime

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

Page 25: Droid con berlin_the_bb10_android_runtime

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

Page 26: Droid con berlin_the_bb10_android_runtime

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

Page 27: Droid con berlin_the_bb10_android_runtime

• 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

Page 28: Droid con berlin_the_bb10_android_runtime

28

Success Stories

Songza

Page 29: Droid con berlin_the_bb10_android_runtime

29

Success Stories

Page 30: Droid con berlin_the_bb10_android_runtime

30

Success Stories

Photo Studio

Page 31: Droid con berlin_the_bb10_android_runtime

31

Success Stories

Page 32: Droid con berlin_the_bb10_android_runtime

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

Page 33: Droid con berlin_the_bb10_android_runtime

KAMEL LAJILI

Sr. Application Development Consultant

[email protected]

@KLAJILI

Thank You