Developing Android Apps for BlackBerry 10 JAM 354 Matthew Whiteman - Product Manager February 6, 2013
Overview What is the BlackBerry Runtime for Android Apps? BlackBerry 10 Features New Features Demo Development Basics Converting Existing Android Apps Signing and Publishing to BlackBerry World Q&A 2
What is the Android Runtime? 5 Minute Overview 3
What is the Android Runtime? Overview Android open source version 2.3.3 aka Gingerbread application framework running on top of BlackBerry PlayBook and BlackBerry 10 Enables ported Android apps to be installed and integrate with BlackBerry PlayBook OS and BlackBerry 10 Deep integration with BlackBerry native framework with the objective to make Android apps almost indistinguishable from native applications 4
What is the Android Runtime? Compatibility & Limitations About 70% of all Android apps are compatible today Not all Android APIs are supported Hardware and OS limitations Android Apps are limited to the personal perimeter No Enterprise support Full compatibility list see: http://developer.blackberry.com/android/apisupport 5
BlackBerry 10 Features Usability and Compatibility 6
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 What s coming with Keyboard devices? Continued support for Android Runtime Support for 720x720 screen resolution QWERTY keyboard support 10
BlackBerry 10 Features Want 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
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 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 http://developer.blackberry.com/android/apisupport 13
BlackBerry 10 Features Want 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 Create the configuration 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 14
Demo New features 15
Development Basics Convert, Sign and Submit! 16
Development Basics Simple 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 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 20
Converting Existing Apps Eclipse 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 21
Converting Existing Apps Eclipse Plug-in for Android 1.5.1 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 22
Development Basics Command-line SDK 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 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 23
Development Basics Common 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 24
Converting Existing Apps Sign 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 25
Development Basics Submit 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 26
Development Basics Submit 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 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 28
Success Stories Songza 29
Success Stories 30
Success Stories Photo Studio 31
Success Stories 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 33
Don t Forget Download the Mobile Conference Guide from BlackBerry World. Search for BlackBerry Jam Europe! Complete your session surveys in your conference portal or on your BlackBerry 10 device using the Mobile Conference Guide. Join us at the BlackBerry Jam Europe Appreciation event tonight in the Europa Foyer on the RAI s ground floor. 34
THANK YOU JAM 354 Matthew Whiteman - Product Manager February 6, 2013