Droid con berlin_the_bb10_android_runtime


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Droid con berlin_the_bb10_android_runtime

  1. 1. The BlackBerry10 AndroidRuntimeKÁMEL LAJILI Sr. Application Development Consultant KLAJILI@BLACKBERRY.COM @KLAJILI
  2. 2. BlackBerry 10SDKs C++/Qt C/C++ HTML5 BlackBerry® ActionScript JavaCascades Native SDK WebWorks™ Adobe® AIR® Android™ Runtime
  3. 3. What is the Android Runtime? 3
  4. 4. 4What is the Android Runtime? Core Apps App 1 App 2 App 3 …. • It’s Android Open source Application Framework v2.3.3 aka “Gingerbread” Core Android Apps Activity Mgr Window Mgr View System Notification Mgr Application Framework running Package Mgr Resource Mgr Location Mgr on top of BlackBerry10 OS Library Java Runtime • Enables ported Android apps FreeType SGL Core Libraries to be installed and run WebKit OpenGL ES Dalvik Virtual Machine Surface Mgr SQLite • Deep integration with BB Media Fwk SSL libc native framework with the BlackBerry 10 OS objective to make Android apps indistinguishable from native apps
  5. 5. What is the Android Runtime?Compatibility & Limitations• 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
  6. 6. BlackBerry 10 FeaturesUsability and Compatibility 6
  7. 7. BlackBerry 10 FeaturesImproved 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
  8. 8. BlackBerry 10 FeaturesImproved 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
  9. 9. BlackBerry 10 FeaturesImproved 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
  10. 10. BlackBerry 10 FeaturesBlackBerry Runtime for Android Apps Support for Keyboard devices  Continued support for Android Runtime  Support for 720x720 screen resolution  QWERTY keyboard support 10
  11. 11. BlackBerry 10 FeaturesWant to use Maps? 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
  12. 12. BlackBerry 10 FeaturesWant to use Maps?@Overridepublic 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
  13. 13. BlackBerry 10 FeaturesWant to use In-App Payments? 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 13
  14. 14. BlackBerry 10 FeaturesWant to use Push? 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 files 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 14
  15. 15. Development BasicsConvert, Sign and Submit! 15
  16. 16. Development BasicsSimple Process 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
  17. 17. Converting Existing AppsOnline Conversion Tool ► Select the location of your APK file ► Select the location of your Android SDK folder 17
  18. 18. Converting Existing AppsOnline Conversion Tool 18
  19. 19. Converting Existing AppsOnline 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 19
  20. 20. Converting Existing AppsEclipse Plug-in for Android 1.5• ADT Plug-in for Eclipse + BlackBerry Plug-in for ADT► 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 20
  21. 21. Converting Existing AppsEclipse Plug-in for Android 1.5.2 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
  22. 22. Development BasicsCommand-line SDKRepackage your APK to a BAR file in 4 easy steps…1) Check your APK for compatibility apk2barVerifier C:Program FilesAndroidandroid-sdkbin> apk2barVerifier HelloWorld.apk2) Repackage your APK file as a BAR C:Program FilesAndroidandroid-sdkbin> apk2bar HelloWorld.apk apk2bar C:Program FilesAndroidandroid-sdkbin> batchbar-signer HelloWorld.bar author.p123) Sign your application p12password rdkpassword batchbar-signer C:Program FilesAndroidandroid-sdkbin> blackberry-deploy –installApp –device –package HelloWorld.bar4) Deploy your application –password devicepassword blackberry-deploy 22
  23. 23. Development BasicsCommon Verification Errors 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
  24. 24. Converting Existing AppsSign Apps for BlackBerry World 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
  25. 25. Development BasicsSubmit to 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 25
  26. 26. Development BasicsSubmit to BlackBerry World 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/prepar ing_your_app_for_blackberry_world.html 26
  27. 27. Success Stories• 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
  28. 28. Success Stories Songza 28
  29. 29. Success Stories 29
  30. 30. Success StoriesPhoto Studio 30
  31. 31. Success Stories 31
  32. 32. 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
  33. 33. Thank YouKAMEL LAJILI Sr. Application Development Consultant KLAJILI@BLACKBERRY.COM @KLAJILI