Droid con berlin_the_bb10_android_runtime

Post on 09-May-2015

479 views 0 download

transcript

KÁMEL LAJILI

Sr. Application Development Consultant

KLAJILI@BLACKBERRY.COM

@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

KAMEL LAJILI

Sr. Application Development Consultant

KLAJILI@BLACKBERRY.COM

@KLAJILI

Thank You