Your SlideShare is downloading. ×
Porting Android Apps To BlackBerry 10
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Porting Android Apps To BlackBerry 10

407
views

Published on

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
407
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Android Onboarding & Virtual Office Hours Android Developer Onboarding & Virtual Office Hours
  • 2. 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 2developer.blackberry.com/android
  • 3. 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 3developer.blackberry.com/android What is BlackBerry 10? BlackBerry Z10
  • 4. 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  Deep integration with BB native framework to make Android apps indistinguishable from native apps  Repackaging your Android app can take as little as 3 minutes 4developer.blackberry.com/android BlackBerry 10 OS QNX Android Runtime Dalvik VM
  • 5. BlackBerry Runtime for Android Apps 5 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.
  • 6. 6 The Android Runtime In Action ► Songza
  • 7. The Android Runtime In Action SkyArabiaNews 7
  • 8. 8 The Android Runtime In Action ► Flipboard
  • 9. 9 The Android Runtime In Action ► Deezer & WordPress
  • 10. 10.2 - August 2013  Android 4.2.2 (Jelly Bean/API 17)  Improved Stability  Support for the end-user to hide/show back bar 11 Android Roadmap
  • 11. 10.2.1 Gold– January 2014 12 Android Roadmap
  • 12. Unsupported APIs 14  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 15developer.blackberry.com/android/apisupport/creating_push-enabled_android_apps.html <?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>
  • 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  Transactions are not signed java.lang.System.getProperty("os.name") returns ("qnx") android.os.Build.DEVICE returns “Q10”, “Q5”, “Z10”, or “Z30” 16developer.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 libc (C library) headers o libm (math library) headers o JNI interface headers o libz (Zlib compression) headers o liblog (Android logging) header o OpenGL ES 1.1/2.0 o libjnigraphics (Pixel buffer access) header o A Minimal set of headers for C++ support o OpenSL ES native audio libraries o Android native application APIS 18developer.blackberry.com/android/
  • 16. 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 New toolset to account for various IDEs via Device Profiler o Simple GUI o Tooling will no longer report *.WRN file errors related to Native code, Bluetooth or Google Maps v1 o Native on-device debugging  Support o Same level support for libraries as Google publicly offers (9) 19developer.blackberry.com/android/apisupport/unsupported_api_android_ndk.html
  • 17. Verify Repackage Deploy Repackaging Android Apps developer.blackberry.com/android 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
  • 18. 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 - test your app 22 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 Repackaging APK Files ► Option 1: Command-line SDK
  • 19. 23 bin>blackberry-apkpackager –gui  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! Repackaging APK Files ► Option 2: GUI-based SDK
  • 20. 24 bin>blackberry-apkpackager –gui Repackaging APK Files ► Option 2: GUI-based SDK
  • 21. 25 bin>blackberry-signer -gui Signing Your Application  Sign your resultant BAR file, or configure your BlackBerry ID signing account Repackaging APK Files ► Option 2: GUI-based SDK
  • 22. 26 bin>blackberry-signer -gui 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 Repackaging APK Files ► Option 2: GUI-based SDK
  • 23. 27 bin>blackberry-deploy -gui 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 Repackaging APK Files ► Option 2: GUI-based SDK
  • 24.  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 Z10
  • 25.  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 Z30
  • 26.  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 Q10
  • 27.  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
  • 28.  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-in- your-10-2-1-app/ developer.blackberry.com/android/ Additional Resources