SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
The BlackBerry10 Android
Runtime
KÁMEL LAJILI
     Sr. Application Development Consultant
     KLAJILI@BLACKBERRY.COM
     @KLAJILI
BlackBerry 10
SDKs




 C++/Qt      C/C++      HTML5 BlackBerry®    ActionScript     Java
Cascades   Native SDK    WebWorks™          Adobe® AIR®     Android™
                                                            Runtime
What is the Android Runtime?




                               3
4




What 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
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
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

 Support for 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 (use e.g.
      java.lang.System.getProperty("os.name").equals("qnx"))

 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 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                      14
Development Basics
Convert, Sign and Submit!




                            15
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

                                                                    16
Converting Existing Apps
Online Conversion Tool




                           ►    Select the
                               location of your
                               APK file

                           ►    Select the
                               location of your
                               Android SDK
                               folder



                                            17
Converting Existing Apps
Online Conversion Tool




                           18
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

                                               19
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


                                                         20
Converting Existing Apps
Eclipse 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
Development Basics
Command-line SDK

Repackage your APK to a BAR file in 4 easy steps…
1) Check your APK for compatibility
    apk2barVerifier                   C:Program FilesAndroidandroid-sdkbin>
                                      apk2barVerifier HelloWorld.apk

2) Repackage your APK file as a BAR   C:Program FilesAndroidandroid-sdkbin>
                                      apk2bar HelloWorld.apk
    apk2bar
                                      C:Program FilesAndroidandroid-sdkbin>
                                      batchbar-signer HelloWorld.bar author.p12
3) Sign your application              p12password rdkpassword

    batchbar-signer                   C:Program FilesAndroidandroid-sdkbin>
                                      blackberry-deploy –installApp –device
                                      169.254.0.1 –package HelloWorld.bar
4) Deploy your application            –password devicepassword

    blackberry-deploy
                                                                                  22
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


                                                                                                                 23
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


                                                                 24
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
                                          25
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
                                                              26
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
Success Stories




 Songza




                  28
Success Stories




                  29
Success Stories




Photo Studio




                  30
Success Stories




                  31
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
Thank You
KAMEL LAJILI
     Sr. Application Development Consultant
     KLAJILI@BLACKBERRY.COM
     @KLAJILI

Weitere ähnliche Inhalte

Was ist angesagt?

Android For Managers Slides
Android For Managers SlidesAndroid For Managers Slides
Android For Managers SlidesMarko Gargenta
 
Android for Java Developers
Android for Java DevelopersAndroid for Java Developers
Android for Java DevelopersMarko Gargenta
 
Keynote Client Connectivity And The Cloud
Keynote Client Connectivity And The CloudKeynote Client Connectivity And The Cloud
Keynote Client Connectivity And The CloudGoogleTecTalks
 
Android for Java Developers at OSCON 2010
Android for Java Developers at OSCON 2010Android for Java Developers at OSCON 2010
Android for Java Developers at OSCON 2010Marko Gargenta
 
Slides bootcamp21
Slides bootcamp21Slides bootcamp21
Slides bootcamp21dxsaki
 
Android: A 9,000-foot Overview
Android: A 9,000-foot OverviewAndroid: A 9,000-foot Overview
Android: A 9,000-foot OverviewMarko Gargenta
 
Sviluppare per una piattaforma mobile aperta: opportunità e sfide
Sviluppare per una piattaforma mobile aperta: opportunità e sfideSviluppare per una piattaforma mobile aperta: opportunità e sfide
Sviluppare per una piattaforma mobile aperta: opportunità e sfideCodemotion
 
Android For Java Developers
Android For Java DevelopersAndroid For Java Developers
Android For Java DevelopersMike Wolfson
 
Soa204 Kawasaki Final
Soa204 Kawasaki FinalSoa204 Kawasaki Final
Soa204 Kawasaki FinalAnush Kumar
 
Android Application Development
Android Application DevelopmentAndroid Application Development
Android Application DevelopmentRamesh Prasad
 
BEF2013 - Toronto - Dev Track 2 - Migrating Apps to BlackBerry 10
BEF2013 - Toronto - Dev Track 2 - Migrating Apps to BlackBerry 10BEF2013 - Toronto - Dev Track 2 - Migrating Apps to BlackBerry 10
BEF2013 - Toronto - Dev Track 2 - Migrating Apps to BlackBerry 10psiborg
 
Android Development with Flash Platform
Android Development with Flash PlatformAndroid Development with Flash Platform
Android Development with Flash PlatformMihai Corlan
 
Introduction to Android, Architecture & Components
Introduction to  Android, Architecture & ComponentsIntroduction to  Android, Architecture & Components
Introduction to Android, Architecture & ComponentsVijay Rastogi
 
Windows 7 Developer Overview
Windows 7 Developer OverviewWindows 7 Developer Overview
Windows 7 Developer OverviewDave Bost
 
Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...
Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...
Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...Michael Kozloff
 
Nokia Qt SDK in action - Qt developer days 2010
Nokia Qt SDK in action - Qt developer days 2010Nokia Qt SDK in action - Qt developer days 2010
Nokia Qt SDK in action - Qt developer days 2010Nokia
 

Was ist angesagt? (20)

Open Android
Open AndroidOpen Android
Open Android
 
Android For Managers Slides
Android For Managers SlidesAndroid For Managers Slides
Android For Managers Slides
 
Android for Java Developers
Android for Java DevelopersAndroid for Java Developers
Android for Java Developers
 
The App Evolution Continues
The App Evolution ContinuesThe App Evolution Continues
The App Evolution Continues
 
Keynote Client Connectivity And The Cloud
Keynote Client Connectivity And The CloudKeynote Client Connectivity And The Cloud
Keynote Client Connectivity And The Cloud
 
Android for Java Developers at OSCON 2010
Android for Java Developers at OSCON 2010Android for Java Developers at OSCON 2010
Android for Java Developers at OSCON 2010
 
Android Internals
Android InternalsAndroid Internals
Android Internals
 
Flex User Group breton
Flex User Group bretonFlex User Group breton
Flex User Group breton
 
Slides bootcamp21
Slides bootcamp21Slides bootcamp21
Slides bootcamp21
 
Android: A 9,000-foot Overview
Android: A 9,000-foot OverviewAndroid: A 9,000-foot Overview
Android: A 9,000-foot Overview
 
Sviluppare per una piattaforma mobile aperta: opportunità e sfide
Sviluppare per una piattaforma mobile aperta: opportunità e sfideSviluppare per una piattaforma mobile aperta: opportunità e sfide
Sviluppare per una piattaforma mobile aperta: opportunità e sfide
 
Android For Java Developers
Android For Java DevelopersAndroid For Java Developers
Android For Java Developers
 
Soa204 Kawasaki Final
Soa204 Kawasaki FinalSoa204 Kawasaki Final
Soa204 Kawasaki Final
 
Android Application Development
Android Application DevelopmentAndroid Application Development
Android Application Development
 
BEF2013 - Toronto - Dev Track 2 - Migrating Apps to BlackBerry 10
BEF2013 - Toronto - Dev Track 2 - Migrating Apps to BlackBerry 10BEF2013 - Toronto - Dev Track 2 - Migrating Apps to BlackBerry 10
BEF2013 - Toronto - Dev Track 2 - Migrating Apps to BlackBerry 10
 
Android Development with Flash Platform
Android Development with Flash PlatformAndroid Development with Flash Platform
Android Development with Flash Platform
 
Introduction to Android, Architecture & Components
Introduction to  Android, Architecture & ComponentsIntroduction to  Android, Architecture & Components
Introduction to Android, Architecture & Components
 
Windows 7 Developer Overview
Windows 7 Developer OverviewWindows 7 Developer Overview
Windows 7 Developer Overview
 
Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...
Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...
Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...
 
Nokia Qt SDK in action - Qt developer days 2010
Nokia Qt SDK in action - Qt developer days 2010Nokia Qt SDK in action - Qt developer days 2010
Nokia Qt SDK in action - Qt developer days 2010
 

Andere mochten auch (8)

From sensor data_to_android_and_back
From sensor data_to_android_and_backFrom sensor data_to_android_and_back
From sensor data_to_android_and_back
 
Android industrial mobility
Android industrial mobility Android industrial mobility
Android industrial mobility
 
Details matter in ux
Details matter in uxDetails matter in ux
Details matter in ux
 
Raspberry Pi
Raspberry PiRaspberry Pi
Raspberry Pi
 
Droidcon de 2014 google cast
Droidcon de 2014   google castDroidcon de 2014   google cast
Droidcon de 2014 google cast
 
Android programming -_pushing_the_limits
Android programming -_pushing_the_limitsAndroid programming -_pushing_the_limits
Android programming -_pushing_the_limits
 
crashing in style
crashing in stylecrashing in style
crashing in style
 
Rutas del aprendizaje enfoque indagacion-cientifica
Rutas del aprendizaje enfoque indagacion-cientificaRutas del aprendizaje enfoque indagacion-cientifica
Rutas del aprendizaje enfoque indagacion-cientifica
 

Ähnlich wie Droid con berlin_the_bb10_android_runtime

Introduction to Mobile Development
Introduction to Mobile DevelopmentIntroduction to Mobile Development
Introduction to Mobile DevelopmentPragnesh Vaghela
 
Hybrid Mobile Apps - Meetup
Hybrid Mobile Apps - MeetupHybrid Mobile Apps - Meetup
Hybrid Mobile Apps - MeetupSanjay Patel
 
20MCE11_MAD_intro.pptx
20MCE11_MAD_intro.pptx20MCE11_MAD_intro.pptx
20MCE11_MAD_intro.pptxKNANTHINIMCA
 
Hybrid App Development, Redefined
Hybrid App Development, RedefinedHybrid App Development, Redefined
Hybrid App Development, RedefinedIonic Framework
 
Mobile Web Apps and the Intel® XDK
Mobile Web Apps and the Intel® XDKMobile Web Apps and the Intel® XDK
Mobile Web Apps and the Intel® XDKIntel® Software
 
Introduction to Cross-Platform Hybrid Mobile App Development
Introduction to Cross-Platform Hybrid Mobile App DevelopmentIntroduction to Cross-Platform Hybrid Mobile App Development
Introduction to Cross-Platform Hybrid Mobile App DevelopmentÖzcan Zafer AYAN
 
Introduction to Mobile Technology
Introduction to Mobile TechnologyIntroduction to Mobile Technology
Introduction to Mobile TechnologyPriya Nath
 
An Overview of Blackberry 10
An Overview of Blackberry 10An Overview of Blackberry 10
An Overview of Blackberry 10Folio3 Software
 
Building cross platfrom solutions for enterprise - the mobileshow- may 2014
Building cross platfrom solutions for enterprise - the mobileshow- may 2014Building cross platfrom solutions for enterprise - the mobileshow- may 2014
Building cross platfrom solutions for enterprise - the mobileshow- may 2014Kareem ElSayyed
 
Android complete basic Guide
Android complete basic GuideAndroid complete basic Guide
Android complete basic GuideAKASH SINGH
 
Hybrid vs. Native app - Ionic Framework with AngularJS
Hybrid vs. Native app - Ionic Framework with AngularJSHybrid vs. Native app - Ionic Framework with AngularJS
Hybrid vs. Native app - Ionic Framework with AngularJSZvika Epstein
 
IBM Impact session 1654-how to move an existing cics application to a smartphone
IBM Impact session 1654-how to move an existing cics application to a smartphoneIBM Impact session 1654-how to move an existing cics application to a smartphone
IBM Impact session 1654-how to move an existing cics application to a smartphonenick_garrod
 

Ähnlich wie Droid con berlin_the_bb10_android_runtime (20)

Introduction to Mobile Development
Introduction to Mobile DevelopmentIntroduction to Mobile Development
Introduction to Mobile Development
 
Hybrid Mobile Apps - Meetup
Hybrid Mobile Apps - MeetupHybrid Mobile Apps - Meetup
Hybrid Mobile Apps - Meetup
 
The Blackberry Opportunity (RIM) 160612
The Blackberry Opportunity (RIM) 160612The Blackberry Opportunity (RIM) 160612
The Blackberry Opportunity (RIM) 160612
 
20MCE11_MAD_intro.pptx
20MCE11_MAD_intro.pptx20MCE11_MAD_intro.pptx
20MCE11_MAD_intro.pptx
 
Mobile Web Apps
Mobile Web AppsMobile Web Apps
Mobile Web Apps
 
Hybrid App Development, Redefined
Hybrid App Development, RedefinedHybrid App Development, Redefined
Hybrid App Development, Redefined
 
Mobile Web Apps and the Intel® XDK
Mobile Web Apps and the Intel® XDKMobile Web Apps and the Intel® XDK
Mobile Web Apps and the Intel® XDK
 
Introduction to Cross-Platform Hybrid Mobile App Development
Introduction to Cross-Platform Hybrid Mobile App DevelopmentIntroduction to Cross-Platform Hybrid Mobile App Development
Introduction to Cross-Platform Hybrid Mobile App Development
 
Introduction to Mobile Technology
Introduction to Mobile TechnologyIntroduction to Mobile Technology
Introduction to Mobile Technology
 
Gl android platform
Gl android platformGl android platform
Gl android platform
 
An Overview of Blackberry 10
An Overview of Blackberry 10An Overview of Blackberry 10
An Overview of Blackberry 10
 
Building cross platfrom solutions for enterprise - the mobileshow- may 2014
Building cross platfrom solutions for enterprise - the mobileshow- may 2014Building cross platfrom solutions for enterprise - the mobileshow- may 2014
Building cross platfrom solutions for enterprise - the mobileshow- may 2014
 
Android complete basic Guide
Android complete basic GuideAndroid complete basic Guide
Android complete basic Guide
 
Mono for android
Mono for androidMono for android
Mono for android
 
Mobile Apps Develpment - A Comparison
Mobile Apps Develpment - A ComparisonMobile Apps Develpment - A Comparison
Mobile Apps Develpment - A Comparison
 
Hybrid vs. Native app - Ionic Framework with AngularJS
Hybrid vs. Native app - Ionic Framework with AngularJSHybrid vs. Native app - Ionic Framework with AngularJS
Hybrid vs. Native app - Ionic Framework with AngularJS
 
Android ppt
Android pptAndroid ppt
Android ppt
 
IBM Impact session 1654-how to move an existing cics application to a smartphone
IBM Impact session 1654-how to move an existing cics application to a smartphoneIBM Impact session 1654-how to move an existing cics application to a smartphone
IBM Impact session 1654-how to move an existing cics application to a smartphone
 
tittanium
tittaniumtittanium
tittanium
 
Android architecture
Android architectureAndroid architecture
Android architecture
 

Mehr von Droidcon Berlin

new_age_graphics_android_x86
new_age_graphics_android_x86new_age_graphics_android_x86
new_age_graphics_android_x86Droidcon Berlin
 
Testing and Building Android
Testing and Building AndroidTesting and Building Android
Testing and Building AndroidDroidcon Berlin
 
Matchinguu droidcon presentation
Matchinguu droidcon presentationMatchinguu droidcon presentation
Matchinguu droidcon presentationDroidcon Berlin
 
Cgm life sdk_droidcon_2014_v3
Cgm life sdk_droidcon_2014_v3Cgm life sdk_droidcon_2014_v3
Cgm life sdk_droidcon_2014_v3Droidcon Berlin
 
The artofcalabash peterkrauss
The artofcalabash peterkraussThe artofcalabash peterkrauss
The artofcalabash peterkraussDroidcon Berlin
 
Raesch, gries droidcon 2014
Raesch, gries   droidcon 2014Raesch, gries   droidcon 2014
Raesch, gries droidcon 2014Droidcon Berlin
 
Android open gl2_droidcon_2014
Android open gl2_droidcon_2014Android open gl2_droidcon_2014
Android open gl2_droidcon_2014Droidcon Berlin
 
20140508 quantified self droidcon
20140508 quantified self droidcon20140508 quantified self droidcon
20140508 quantified self droidconDroidcon Berlin
 
Tuning android for low ram devices
Tuning android for low ram devicesTuning android for low ram devices
Tuning android for low ram devicesDroidcon Berlin
 
Froyo to kit kat two years developing & maintaining deliradio
Froyo to kit kat   two years developing & maintaining deliradioFroyo to kit kat   two years developing & maintaining deliradio
Froyo to kit kat two years developing & maintaining deliradioDroidcon Berlin
 
Droidcon2013 security genes_trendmicro
Droidcon2013 security genes_trendmicroDroidcon2013 security genes_trendmicro
Droidcon2013 security genes_trendmicroDroidcon Berlin
 
Droidcon2013 commercialsuccess rannenberg
Droidcon2013 commercialsuccess rannenbergDroidcon2013 commercialsuccess rannenberg
Droidcon2013 commercialsuccess rannenbergDroidcon Berlin
 
Droidcon2013 bootstrap luedeke
Droidcon2013 bootstrap luedekeDroidcon2013 bootstrap luedeke
Droidcon2013 bootstrap luedekeDroidcon Berlin
 
Droidcon2013 app analytics_huber_1und1
Droidcon2013  app analytics_huber_1und1Droidcon2013  app analytics_huber_1und1
Droidcon2013 app analytics_huber_1und1Droidcon Berlin
 
Droidcon2013 facebook stewart
Droidcon2013 facebook stewartDroidcon2013 facebook stewart
Droidcon2013 facebook stewartDroidcon Berlin
 
Droidcon 2013 ui smartphones tam hanna
Droidcon 2013 ui smartphones tam hannaDroidcon 2013 ui smartphones tam hanna
Droidcon 2013 ui smartphones tam hannaDroidcon Berlin
 
Droidcon 2013 connected services burrel_ford
Droidcon 2013 connected services burrel_fordDroidcon 2013 connected services burrel_ford
Droidcon 2013 connected services burrel_fordDroidcon Berlin
 
Droidcon2013 topapps benninghaus_telekom
Droidcon2013 topapps benninghaus_telekomDroidcon2013 topapps benninghaus_telekom
Droidcon2013 topapps benninghaus_telekomDroidcon Berlin
 

Mehr von Droidcon Berlin (20)

droidparts
droidpartsdroidparts
droidparts
 
new_age_graphics_android_x86
new_age_graphics_android_x86new_age_graphics_android_x86
new_age_graphics_android_x86
 
5 tips of monetization
5 tips of monetization5 tips of monetization
5 tips of monetization
 
Testing and Building Android
Testing and Building AndroidTesting and Building Android
Testing and Building Android
 
Matchinguu droidcon presentation
Matchinguu droidcon presentationMatchinguu droidcon presentation
Matchinguu droidcon presentation
 
Cgm life sdk_droidcon_2014_v3
Cgm life sdk_droidcon_2014_v3Cgm life sdk_droidcon_2014_v3
Cgm life sdk_droidcon_2014_v3
 
The artofcalabash peterkrauss
The artofcalabash peterkraussThe artofcalabash peterkrauss
The artofcalabash peterkrauss
 
Raesch, gries droidcon 2014
Raesch, gries   droidcon 2014Raesch, gries   droidcon 2014
Raesch, gries droidcon 2014
 
Android open gl2_droidcon_2014
Android open gl2_droidcon_2014Android open gl2_droidcon_2014
Android open gl2_droidcon_2014
 
20140508 quantified self droidcon
20140508 quantified self droidcon20140508 quantified self droidcon
20140508 quantified self droidcon
 
Tuning android for low ram devices
Tuning android for low ram devicesTuning android for low ram devices
Tuning android for low ram devices
 
Froyo to kit kat two years developing & maintaining deliradio
Froyo to kit kat   two years developing & maintaining deliradioFroyo to kit kat   two years developing & maintaining deliradio
Froyo to kit kat two years developing & maintaining deliradio
 
Droidcon2013 security genes_trendmicro
Droidcon2013 security genes_trendmicroDroidcon2013 security genes_trendmicro
Droidcon2013 security genes_trendmicro
 
Droidcon2013 commercialsuccess rannenberg
Droidcon2013 commercialsuccess rannenbergDroidcon2013 commercialsuccess rannenberg
Droidcon2013 commercialsuccess rannenberg
 
Droidcon2013 bootstrap luedeke
Droidcon2013 bootstrap luedekeDroidcon2013 bootstrap luedeke
Droidcon2013 bootstrap luedeke
 
Droidcon2013 app analytics_huber_1und1
Droidcon2013  app analytics_huber_1und1Droidcon2013  app analytics_huber_1und1
Droidcon2013 app analytics_huber_1und1
 
Droidcon2013 facebook stewart
Droidcon2013 facebook stewartDroidcon2013 facebook stewart
Droidcon2013 facebook stewart
 
Droidcon 2013 ui smartphones tam hanna
Droidcon 2013 ui smartphones tam hannaDroidcon 2013 ui smartphones tam hanna
Droidcon 2013 ui smartphones tam hanna
 
Droidcon 2013 connected services burrel_ford
Droidcon 2013 connected services burrel_fordDroidcon 2013 connected services burrel_ford
Droidcon 2013 connected services burrel_ford
 
Droidcon2013 topapps benninghaus_telekom
Droidcon2013 topapps benninghaus_telekomDroidcon2013 topapps benninghaus_telekom
Droidcon2013 topapps benninghaus_telekom
 

Kürzlich hochgeladen

Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
Introduction to Quantum Computing
Introduction to Quantum ComputingIntroduction to Quantum Computing
Introduction to Quantum ComputingGDSC PJATK
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.YounusS2
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataCloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataSafe Software
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaborationbruanjhuli
 
Spring24-Release Overview - Wellingtion User Group-1.pdf
Spring24-Release Overview - Wellingtion User Group-1.pdfSpring24-Release Overview - Wellingtion User Group-1.pdf
Spring24-Release Overview - Wellingtion User Group-1.pdfAnna Loughnan Colquhoun
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8DianaGray10
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...Aggregage
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 

Kürzlich hochgeladen (20)

Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
Introduction to Quantum Computing
Introduction to Quantum ComputingIntroduction to Quantum Computing
Introduction to Quantum Computing
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataCloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
 
Spring24-Release Overview - Wellingtion User Group-1.pdf
Spring24-Release Overview - Wellingtion User Group-1.pdfSpring24-Release Overview - Wellingtion User Group-1.pdf
Spring24-Release Overview - Wellingtion User Group-1.pdf
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 

Droid con berlin_the_bb10_android_runtime

  • 1. The BlackBerry10 Android Runtime KÁMEL LAJILI Sr. Application Development Consultant KLAJILI@BLACKBERRY.COM @KLAJILI
  • 2. BlackBerry 10 SDKs C++/Qt C/C++ HTML5 BlackBerry® ActionScript Java Cascades Native SDK WebWorks™ Adobe® AIR® Android™ Runtime
  • 3. What is the Android Runtime? 3
  • 4. 4 What 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. 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. BlackBerry 10 Features Usability and Compatibility 6
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. 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
  • 11. 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
  • 12. 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
  • 13. 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 (use e.g. java.lang.System.getProperty("os.name").equals("qnx"))  http://developer.blackberry.com/android/apisupport 13
  • 14. 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 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 14
  • 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 16
  • 17. Converting Existing Apps Online Conversion Tool ► Select the location of your APK file ► Select the location of your Android SDK folder 17
  • 18. Converting Existing Apps Online Conversion Tool 18
  • 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 19
  • 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 20
  • 21. Converting Existing Apps Eclipse 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. Development Basics Command-line SDK Repackage your APK to a BAR file in 4 easy steps… 1) Check your APK for compatibility apk2barVerifier C:Program FilesAndroidandroid-sdkbin> apk2barVerifier HelloWorld.apk 2) Repackage your APK file as a BAR C:Program FilesAndroidandroid-sdkbin> apk2bar HelloWorld.apk apk2bar C:Program FilesAndroidandroid-sdkbin> batchbar-signer HelloWorld.bar author.p12 3) Sign your application p12password rdkpassword batchbar-signer C:Program FilesAndroidandroid-sdkbin> blackberry-deploy –installApp –device 169.254.0.1 –package HelloWorld.bar 4) Deploy your application –password devicepassword blackberry-deploy 22
  • 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 23
  • 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 24
  • 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 25
  • 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 26
  • 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
  • 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. Thank You KAMEL LAJILI Sr. Application Development Consultant KLAJILI@BLACKBERRY.COM @KLAJILI