SlideShare a Scribd company logo
1 of 33
Download to read offline
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/
Android to BB in 3 minutes

More Related Content

Recently uploaded

Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceIES VE
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsLeah Henrickson
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governanceWSO2
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformWSO2
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaWSO2
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxFIDO Alliance
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMKumar Satyam
 
Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxFIDO Alliance
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...FIDO Alliance
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAnitaRaj43
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxFIDO Alliance
 

Recently uploaded (20)

Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational Performance
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governance
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptx
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptx
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptx
 

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Android to BB in 3 minutes

  • 1. Reach A New Market In 3 Minutes (or less!) developer.blackberry.com/android Larry McDonough Principal Evangelist @LMCDUNNA
  • 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 developer.blackberry.com/android 2
  • 3. 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
  • 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 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
  • 5. 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
  • 6. The Android Runtime In Action ► Songza 6
  • 7. The Android Runtime In Action ► Flipboard 7
  • 8. The Android Runtime In Action ► Deezer & WordPress 8
  • 9.
  • 10. 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
  • 12.
  • 13. 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
  • 14. 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
  • 15. 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
  • 16.
  • 17. 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
  • 18. 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
  • 19.
  • 20. 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
  • 21. 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
  • 22. 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
  • 23.
  • 24. 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
  • 25. 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
  • 26. 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
  • 27.
  • 28. 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
  • 29. 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
  • 30. 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
  • 31. 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
  • 32. 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/