Android to BB in 3 minutes
Upcoming SlideShare
Loading in...5
×
 

Android to BB in 3 minutes

on

  • 838 views

Update on latest BB10 support for Android apps (big one: native library support!). Overview of process, tools and a live demo on stage moving the Nest app to BlackBerry Z10 in under 3 minutes.

Update on latest BB10 support for Android apps (big one: native library support!). Overview of process, tools and a live demo on stage moving the Nest app to BlackBerry Z10 in under 3 minutes.

Statistics

Views

Total Views
838
Views on SlideShare
833
Embed Views
5

Actions

Likes
0
Downloads
6
Comments
0

2 Embeds 5

http://www.slideee.com 4
http://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Android to BB in 3 minutes Android to BB in 3 minutes Presentation Transcript

  • Reach A New Market In 3 Minutes (or less!) developer.blackberry.com/android Larry McDonough Principal Evangelist @LMCDUNNA
  • Android Onboarding & Virtual Office Hours  What is BlackBerry 10?  How does BlackBerry 10 run Android apps?  Repacking & testing your Android app on BlackBerry 10  Submitting your Android app to BlackBerry World developer.blackberry.com/android 2
  • BlackBerry 10 What is BlackBerry 10?  New mobile computing platform and hardware     Brand new hardware/software based on QNX Best-in-class browser (491 HTML5 Test score) Cutting-edge multimedia capabilities More apps than any first-generation platform at launch  Full-touchscreen and keyboard-based smartphones  Bringing your Android app to BlackBerry 10 can take as little as 3 minutes BlackBerry Z10 developer.blackberry.com/android 3
  • BlackBerry Runtime for Android Apps  Open-source Jelly Bean (Android 4.2.2) Application Framework running on top of BlackBerry 10 OS and Libraries  Enables repackaged Android apps to be installed and run inside it C++  Deep integration with BB native framework to make Android apps indistinguishable from native apps WebKit Dalvik VM  Repackaging your Android app can take as little as 3 minutes developer.blackberry.com/android 4
  • BlackBerry Runtime for Android Apps Increased Compatibility: Over 80% of converted Android apps work without any changes to source code Support for Android Native, Accessibility, Bluetooth, MapView v1, Share Framework, Spellcheck, Wi-Fi Scanning Broader Reach Integrate with the BlackBerry ecosystem and get access to the BlackBerry World distribution channel, more customers, and additional revenue opportunities. 5
  • The Android Runtime In Action ► Songza 6
  • The Android Runtime In Action ► Flipboard 7
  • The Android Runtime In Action ► Deezer & WordPress 8
  • Android Roadmap 10.2 - August 2013   Android 4.2.2 (Jelly Bean/API 17) Improved Stability  Support for the end-user to hide/show back bar 10
  • Android Roadmap 10.2.1 Gold– January 2014 11
  • Unsupported APIs  Around 80% of all Android apps are compatible today on BlackBerry 10.2.1 requiring no changes to source code  Not all Android APIs are supported  Hardware and OS dependencies  Limited to the personal perimeter  Full compatibility list is available at developer.blackberry.com/android/apisupport 13
  • Push Support Both c2dm and GCM are supported: Client  Register with BlackBerry Push Services  Create android.cfg file  Package the android.cfg file within BAR  Sign app Server  Push JSON payload to both Google & BlackBerry app servers  Pushes are queued until app is open <?xml version="1.0" encoding="utf-8"?> <android> <push> <appid>some_appID</appid> <ppgurl>http://cpXXX.pushapi.eval.blackberry.com</ppgurl> <tokenprefix>bb-</tokenprefix> </push> </android> developer.blackberry.com/android/apisupport/creating_push-enabled_android_apps.html 14
  • In-App Billing Support  Test using BlackBerry World sandbox  Use the same ItemID values for your digitalSKU items in vendor portal  One-time purchases, no subscriptions, no refunds through API  Which OS? Which Device? java.lang.System.getProperty("os.name") returns ("qnx") android.os.Build.DEVICE returns “Q10”, “Q5”, “Z10”, or “Z30” developer.blackberry.com/android/apisupport/apisupport_inapp_payments_support.html 15
  • Android Native Code  Android NDK lets you write parts of your app in C/C++  Meant for self-contained, CPU-intensive operations, shared x-platform libraries, third-party libraries  When moving between Java and Native code, the Java Native Integration (JNI) bridge is crossed, requiring Android system resources  Android only provides header support for the following: o o o o o o o o o o libc (C library) headers libm (math library) headers JNI interface headers libz (Zlib compression) headers liblog (Android logging) header OpenGL ES 1.1/2.0 libjnigraphics (Pixel buffer access) header A Minimal set of headers for C++ support OpenSL ES native audio libraries Android native application APIS developer.blackberry.com/android/ 17
  • Android Native Code  BlackBerry 10.2.1 OS o Both the ARMv5TE and ARMv7-A machine code instruction sets are supported  Android Tooling 2.0 o o o o New toolset to account for various IDEs via Device Profiler Simple GUI Tooling will no longer report *.WRN file errors related to Native code, Bluetooth or Google Maps v1 Native on-device debugging  Support o Same level support for libraries as Google publicly offers (9) developer.blackberry.com/android/apisupport/unsupported_api_android_ndk.html 18
  • Repackaging Android Apps Verify Repackage Deploy Verify - Run blackberry-apkpackager to generate a *.WRN file which will call out unsupported APIs and repackage the APK to a BAR file Repackage - Run blackberry-signer to sign the BAR file Deploy - Run blackberry-deploy on an up-to-date OS, testing functions called out in the *.WRN file developer.blackberry.com/android
  • Repackaging APK Files ► Option 1: Command-line SDK Repackage your APK to a BAR file in 3 easy steps… 1) blackberry-apkpackager - runs a compatibility check on your APK file - packages your APK file as a BAR file 2) blackberry-signer - sign your application 3) blackberry-deploy C:Androidandroid-sdkbin> blackberry-apkpackager HelloWorld.apk C:Androidandroid-sdkbin> blackberry-signer –storepass pass123 HelloWorld.bar C:Androidandroid-sdkbin> blackberry-deploy –installApp – device 169.254.0.1 –package HelloWorld.bar –password pass123 - test your app 21
  • Repackaging APK Files ► Option 2: GUI-based SDK  Append the –gui parameter to use a GUI window for point-and-click repackaging blackberry-apkpackager –gui  Provide the APK file location, target location and select Package  Sign and deploy within the same step! bin>blackberry-apkpackager –gui 22
  • Repackaging APK Files ► Option 2: GUI-based SDK Signing Your Application  Sign your resultant BAR file, or configure your BlackBerry ID signing account bin>blackberry-signer -gui 24
  • Repackaging APK Files ► Option 2: GUI-based SDK Setting Up Your BlackBerry ID Signing Account  From the BlackBerry Signer window, select Configure Signing  Provide what will be your CSK Password (signing password) and Author Name  Select Request and log into/create your BlackBerry ID account  Select Create bin>blackberry-signer -gui 25
  • Repackaging APK Files ► Option 2: GUI-based SDK Deploying Your App  Deploy your resultant BAR file to a BlackBerry 10 simulator or device  Provide the BAR file location, device IP address and password10 simulator or device  Ensure that your physical device has Development Mode enabled bin>blackberry-deploy -gui 26
  • BlackBerry 10 Devices ► BlackBerry Z10  Icon: 114 x 114 pixels  Resolution: 1280 x 768 (15:9)  Screen size: 4.2” diagonal  Project structure: res/drawable-xhdpi  Current OS: BlackBerry 10.2.1  Testing: BlackBerry 10 Device Simulator developer.blackberry.com/android/documentation/port_android_app_to_bb_device.html
  • BlackBerry 10 Devices ► BlackBerry Z30  Icon: 114 x 114 pixels  Resolution: 1280 x 720 (16:9)  Screen size: 5” diagonal Super AMOLED  Project structure: res/drawable-xhdpi  Current OS: BlackBerry 10.2.1  Testing: BlackBerry 10 Device Simulator developer.blackberry.com/android/documentation/port_android_app_to_bb_device.html
  • BlackBerry 10 Devices ► BlackBerry Q10  Icon: 114 x 114 pixels  Resolution: 720x 720 (1:1)  Screen size: 3.1” diagonal  Project structure: res/drawable-square  Current OS: BlackBerry 10.2.1  Testing: BlackBerry 10 Device Simulator developer.blackberry.com/android/documentation/port_android_app_to_bb_device.html
  • BlackBerry 10 Devices ► BlackBerry Q5  Icon: 114 x 114 pixels  Resolution: 720x 720 (1:1)  Screen size: 3.1” diagonal  Project structure: res/drawable-square  Current OS: BlackBerry 10.2.1  Testing: BlackBerry 10 Device Simulator developer.blackberry.com/android/documentation/port_android_app_to_bb_device.html
  • Additional Resources  Device OS autoloaders https://developer.blackberry.com/blackberry10devalphas/update/  Simulator & SDK download https://developer.blackberry.com/android/tools/  Pulling Android logs http://devblog.blackberry.com/2013/11/pull-android-logs-from-your-blackberry/  Programmatically disabling the back bar http://devblog.blackberry.com/2013/12/android-developers-eliminate-the-back-bar-inyour-10-2-1-app/ developer.blackberry.com/android/