SlideShare una empresa de Scribd logo
1 de 37
Android* on Intel platforms
Ilya Levin, Software Developer
Smartphones with Intel Inside - 2012
Motorola* RAZR i ZTE* Grand X IN
Lava* Xolo X900 Megafon* Mint
Lenovo*
K800
Orange* San Diego (UK)
Orange* avec Intel Inside (FR)
Z2460
Smartphones with Intel Inside - 2013
Intel® Yolo
Acer* Liquid C1
Z2420 Z2580Z2560
Lenovo* K900 – 5.5”
ASUS Fonepad™ Note FHD - 6”
ZTE* Grand X2 In – 4.5”
ZTE* Geek – 5”
…
Etisalat E-20*
Tablets with Intel Inside - 2013
ASUS* MeMO Pad FHD 10”
(Z2560)
ASUS* Fonepad™ 7”
(Z2420/Z2560)
Dell* Venue 7/8
(Z2560)
Samsung* Galaxy™ Tab 3 10.1”
(Z2560)
LTE version now available
Future Android* platforms based on Intel*
Silvermont microarchitecture
New 22nm tri-gate microarchitecture
~3X more peak performance or ~5X lower power than previous Atom microarchitecture
Intel® Atom™ Processor Z3000 Series
(Bay Trail)
Next Generation Tablets
Merrifield
Next Generation Smartphones
Intel devices are already fully compatible
with established Android* ecosystem
Android* Dalvik* apps
 These will directly work, Dalvik has been
optimized for Intel® platforms.
Android NDK apps
 Most will run without any recompilation on consumer
platforms.
 Android NDK provides an x86 toolchain since 2011
 A simple recompile using the Android NDK yields the best
performance
 If there is specific processor dependent code, porting may be
necessary
Most of the time, it just works !
When optimization is needed
Performance critical apps are popular
 Games
 Real time multimedia
 Augmented reality
Users are sensitive
 Don’t accept lags
 Fluid animations
 Minimal load time
How to target multiple platforms
(incl. x86) from NDK apps?
If you have the source code of your native libraries, you can compile it for several CPU
architectures by setting APP_ABI to all in the Makefile “jni/Application.mk”:
APP_ABI=all
The NDK will generate optimized code for all target ABIs
You can also pass APP_ABI variable directly to ndk-build, and specify each ABI:
ndk-build APP_ABI=x86
Configuring NDK Target ABIs
ARM v7a libs are built
ARM v5 libs are built
x86 libs are built
mips libs are built
Put APP_ABI=all
inside Application.mk
Run ndk-build…
PSI
TS
PIDs
Packaging APKs for Multiple CPU
Architectures
Two options:
One package for all (“fat binary”)
 Embed native libraries for each architecture in one APK
 Easiest and preferred way to go
Multiple APKs
 One APK per architecture
 If you have good reasons to do so (i.e., your fat binary APK
would be larger than 50MB)
Fat Binaries
By default, an APK contains libraries for every supported ABIs.
Use lib/armeabi libraries
Use lib/armeabi-v7a
libraries
Use lib/x86
libraries
libs/armeabi-v7a
libs/x86
libs/armeabi
APK file
…
The application will be filtered during installation (after download)
Multiple APKs
Google Play* supports multiple APKs for the same application.
What compatible APK will be chosen for a device entirely depends on the
android:VersionCode
If you have multiple APKs for multiple ABIs, best is to simply prefix your
current version code with a digit representing the ABI:
2310 6310
You can have more options for multiple APKs, here is a convention that will
work if you’re using all of these:
x86ARMv7
Intel® Tools for Android* apps
developers
HAXM, GPA, and others
Most of Intel tools are relevant even if you’re not targeting x86 platforms!
Intel x86 Emulator
Accelerator
Intel x86 Atom
System Image
Faster Android* Emulation on Intel®
Architecture Based Host PC
Pre-built Intel® Atom™ Processor Images
• Android* SDK manager has x86 emulation
images built-in
• To emulate an Intel Atom processor based
Android phone, install the “Intel Atom x86
System Image” available in the Android SDK
Manager
Much Faster Emulation
• Intel® Hardware Accelerated Execution
Manager (Intel® HAXM) for Mac and Windows
uses Intel® Virtualization Technology (Intel® VT)
to accelerate Android emulator
• Intel VT is already supported in Linux* by qemu
-kvm
ARM and x86 Emulators running AnTuTu*
Benchmark
Android* on Intel platforms
And what it means for you, developers.
Ilya Levin, Software Developer
HAXM
(Hardware Accelerated Execution Manager)
Intel® Graphics Performance Analyzers
• Profiles performance and
Power
• Real-time charts of CPU, GPU
and power metrics
• Conduct real-time experiments
with OpenGL-ES* (with state
overrides) to help narrow down
problems
• Triage system-level
performance with CPU, GPU
and Power metrics
Available freely on intel.com/software/gpa
Using the Second-Screen API and
Intel® Wireless Display From
Android* Applications
What is Miracast*?
• Miracast* is standard for wireless peer-to-peer screen-
casting, created and certified by the WiFi Alliance*
• Wireless replacement for HDMI*/MHL*
• Built upon existing standards
- H.264 (MPEG-4 AVC) video compression & WiFi Direct
• Based on Intel® Wi-Fi Display specifications
• Open for the industry
• Support added in Android* 4.2
What is Intel® Wireless Display
(WiDi)
Supports two additional Display modes
Extended Video mode (with Android* media
framework)
Multi-task usage support (content on second
screen, while local screen used for other task)
Available on most Intel® Atom™ SOCs
Intel® WiDi is a superset of WFA Miracast*
• WFA Miracast* certified
– compatible with Miracast* certified receivers.
• Supports HD video up to 1080p/60 with 5.1 audio
• Content protection with HDCP2.1
Miracast* Concept
Video Render Audio Render
Video Decode Audio Decode
De-Packetize De-Packetize
Link Content Protection Decrypt
(Optional)
AV DeMux
Transport
LLC
WI-Fi MAC (Direct Link)
Wi-Fi PHY
SINK
Video Encode Audio Encode
Packetize Packetize
Link Content Protection Encrypt
(Optional)
AV Mux
Transport
LLC
WI-Fi MAC (Direct Link)
Wi-Fi PHY
Video Frames Audio Samples
SOURCE
Adapters
•Actiontec* ScreenBeam Pro
•Netgear* (ex: PTV3000)
•Viewsonic (WPG-370)
•Acer*
•Best Buy* Rocketfish*
•Lenovo*
•…
Projectors
• Dell*
• Seiko Epson *
• Ricoh*
• LG*
• …
TVs
•Samsung*
•Toshiba*
•LG*
•TCL*
•Sharp*
•Philips*
•…
Miracast* Certified Sink Devices
Intel® WiDi Certified
Second-Screen Enabled Devices running
Android* 4.2.x
Device Miracast*
Certified
HDMI*, MHL* or
SlimPort*
Samsung* Galaxy S4 Yes Yes
Samsung Galaxy Tab3 10.1 No Yes
Sony* Xperia Z Yes Yes
LG* Optimus G Yes Yes
Nexus* 4 Yes Yes
HTC* One Yes Yes
Lenovo* K900 Yes No
Asus* MeMO Pad FHD10 Yes Yes
Connecting a Wireless Display on
Android*
Sony* Xperia Z Stock/Intel® Samsung* Galaxy S4
Clone Mode (Default)
 After establishing the connection, user sees local screen on the
remote display
 Resolution sent to remote is the same as local display’s
 No need to do anything to support this mode
 Remote screen used for content viewing
 Local screen used for control & context info
 Application can target this mode using the Android*
Presentation API
Dual Screen Display With Single App
 Video mode is activated automatically when user plays a video using
Android* Media Player framework (ex: VideoView)
 User sees video content on the remote at the 1080p resolution (or
whatever the native resolution of the content is)
 Local video rendering is turned off to save power, but UI stays untouched
Extended Video Mode
(Intel® Platform Specific)
Use-Cases for Second Screen
Applications
 Multi-Media Sharing
‒ Share videos and photos to a large screen and use handset
to navigate
 Gaming
‒ Use handset as game controller
 Productivity Apps
‒ Sharing presentations to large screen or projector
 IVI
‒ Transfer phones screen to car head unit (Navigation)
Ideas for Dual Screen Applications
Enter search term
Touchpad Mode
Web Browser
Ideas for Dual Screen Applications
And
Keyboard Input Mode
wq e r t y u i o p
sa d f g h j k l
z x c v b n m
&123 / space · search
And
Web Browser
Ideas for Dual Screen Applications
Games
Dual Joysticks Mode
Ideas for Dual Screen Applications
Productivity
App
The Presentation Object
Dialog
Presentation
You need to have a fragment based navigation if
you want to keep it running while navigating in the
app.
The activity should take care of pausing and
resuming whatever content is playing within the
presentation whenever the activity itself is paused
or resumed.
• Presentation is the based class and should be extended:
• Presentation inherits from Dialog, and as for a Dialog its lifecycle is bound to an
Activity
public class DemoPresentation extends Presentation {
• Needs to be associated with a Display at creation time
Before showing a Presentation you need to select a Display, this can be done in 2
ways:
1. MediaRouter API (in API 16): system will decide the best display for you!
2. Display Manager API (in API 17): Enumeration of displays
Using the Presentation API
// Get the MediaRouter service
MediaRouter mMediaRouter =
(MediaRouter)getSystemService(Context.MEDIA_ROUTER_SERVICE);
// Care only about routes that have full video support.
MediaRouter.RouteInfo mRouteInfo =
mMediaRouter.getSelectedRoute(MediaRouter.ROUTE_TYPE_LIVE_VIDEO);
Display presentationDisplay = mRouteInfo.getPresentationDisplay();
// Get the DisplayManager service.
DisplayManager mDisplayManager =
(DisplayManager)getSystemService(Context.DISPLAY_SERVICE);
// enumerate the displays
Display[] presentationDisplays =
mDisplayManager.getDisplays(DisplayManager.DISPLAY_CATEGORY_PRESENTATION);
Presentation API
MediaRouter.
getSelectedRoute
(ROUTE_TYPE_LIVE_VIDEO)
MediaRouter.
routeInfo
getPresentationDisplay()
new Presentation
(activityContext, display)
.show()
Then, using MediaRouter.addCallback, you have to monitor:
• onRouteUnselected
• onRouteSelected
• onRoutePresentationDisplayChanged
And inside the activity owning the Presentation:
• onResume
• onPause
How to get a Presentation displayed:
Testing your Second-Screen Apps
Options:
• Real Hardware - supporting second screen functionality
• Simulate secondary screen - new feature in Android* 4.2 (in Developer options). You
can select by resolution and DPI and once activated you get an overlay emulating
the secondary screen.
Q&A

Más contenido relacionado

La actualidad más candente

Droidcon 2013 france - The Growth of Android in Embedded Systems
Droidcon 2013 france - The Growth of Android in Embedded SystemsDroidcon 2013 france - The Growth of Android in Embedded Systems
Droidcon 2013 france - The Growth of Android in Embedded SystemsBenjamin Zores
 
13.30 hr Hebinck
13.30 hr Hebinck13.30 hr Hebinck
13.30 hr HebinckThemadagen
 
Android introduction and rooting technology
Android introduction and rooting technologyAndroid introduction and rooting technology
Android introduction and rooting technologyGagandeep Nanda
 
AMD Embedded G-Series Press Presentation
AMD Embedded G-Series Press PresentationAMD Embedded G-Series Press Presentation
AMD Embedded G-Series Press PresentationAMD
 
ABS 2014 - The Growth of Android in Embedded Systems
ABS 2014 - The Growth of Android in Embedded SystemsABS 2014 - The Growth of Android in Embedded Systems
ABS 2014 - The Growth of Android in Embedded SystemsBenjamin Zores
 
Introduction to OpenBricks: an Embedded Linux Framework
Introduction to OpenBricks: an Embedded Linux FrameworkIntroduction to OpenBricks: an Embedded Linux Framework
Introduction to OpenBricks: an Embedded Linux FrameworkBenjamin Zores
 
Debug, Analyze and Optimize Games with Intel Tools - Matteo Valoriani - Codem...
Debug, Analyze and Optimize Games with Intel Tools - Matteo Valoriani - Codem...Debug, Analyze and Optimize Games with Intel Tools - Matteo Valoriani - Codem...
Debug, Analyze and Optimize Games with Intel Tools - Matteo Valoriani - Codem...Codemotion
 
Movi presentation Singapore video tech meetup
Movi presentation Singapore video tech meetupMovi presentation Singapore video tech meetup
Movi presentation Singapore video tech meetupLars-Erik M Ravn
 
ABS 2013: Dive into Android Networking - Adding Ethernet Connectivity
ABS 2013: Dive into Android Networking - Adding Ethernet ConnectivityABS 2013: Dive into Android Networking - Adding Ethernet Connectivity
ABS 2013: Dive into Android Networking - Adding Ethernet ConnectivityBenjamin Zores
 
AMD Catalyst Software
AMD Catalyst Software  AMD Catalyst Software
AMD Catalyst Software AMD
 
Introduction to Ubuntu Edge Operating System (Ubuntu Touch)
Introduction to Ubuntu Edge Operating System (Ubuntu Touch)Introduction to Ubuntu Edge Operating System (Ubuntu Touch)
Introduction to Ubuntu Edge Operating System (Ubuntu Touch)Tushar B Kute
 
Android on Intel platforms : current state, near-future, future & developers ...
Android on Intel platforms : current state, near-future, future & developers ...Android on Intel platforms : current state, near-future, future & developers ...
Android on Intel platforms : current state, near-future, future & developers ...BeMyApp
 
Learning AOSP - Android Linux Device Driver
Learning AOSP - Android Linux Device DriverLearning AOSP - Android Linux Device Driver
Learning AOSP - Android Linux Device DriverNanik Tolaram
 
The Story of Enlightenment, EFL, Tizen and Wayland
The Story of Enlightenment, EFL, Tizen and WaylandThe Story of Enlightenment, EFL, Tizen and Wayland
The Story of Enlightenment, EFL, Tizen and WaylandRyo Jin
 
Rapid prototyping with open source
Rapid prototyping with open sourceRapid prototyping with open source
Rapid prototyping with open sourceAlison Chaiken
 
Optimizing the Audio Decoding Based Upon Hardware Capability: An Android NUPl...
Optimizing the Audio Decoding Based Upon Hardware Capability: An Android NUPl...Optimizing the Audio Decoding Based Upon Hardware Capability: An Android NUPl...
Optimizing the Audio Decoding Based Upon Hardware Capability: An Android NUPl...INFOGAIN PUBLICATION
 
Customizing AOSP For Different Embedded Devices And Integration at Applicatio...
Customizing AOSP For Different Embedded Devices And Integration at Applicatio...Customizing AOSP For Different Embedded Devices And Integration at Applicatio...
Customizing AOSP For Different Embedded Devices And Integration at Applicatio...ijafrc
 
ELCE 2012 - Dive into Android Networking: Adding Ethernet Connectivity
ELCE 2012 - Dive into Android Networking: Adding Ethernet ConnectivityELCE 2012 - Dive into Android Networking: Adding Ethernet Connectivity
ELCE 2012 - Dive into Android Networking: Adding Ethernet ConnectivityBenjamin Zores
 

La actualidad más candente (20)

Droidcon 2013 france - The Growth of Android in Embedded Systems
Droidcon 2013 france - The Growth of Android in Embedded SystemsDroidcon 2013 france - The Growth of Android in Embedded Systems
Droidcon 2013 france - The Growth of Android in Embedded Systems
 
13.30 hr Hebinck
13.30 hr Hebinck13.30 hr Hebinck
13.30 hr Hebinck
 
Google tv
Google tvGoogle tv
Google tv
 
Android introduction and rooting technology
Android introduction and rooting technologyAndroid introduction and rooting technology
Android introduction and rooting technology
 
AMD Embedded G-Series Press Presentation
AMD Embedded G-Series Press PresentationAMD Embedded G-Series Press Presentation
AMD Embedded G-Series Press Presentation
 
ABS 2014 - The Growth of Android in Embedded Systems
ABS 2014 - The Growth of Android in Embedded SystemsABS 2014 - The Growth of Android in Embedded Systems
ABS 2014 - The Growth of Android in Embedded Systems
 
Introduction to OpenBricks: an Embedded Linux Framework
Introduction to OpenBricks: an Embedded Linux FrameworkIntroduction to OpenBricks: an Embedded Linux Framework
Introduction to OpenBricks: an Embedded Linux Framework
 
Debug, Analyze and Optimize Games with Intel Tools - Matteo Valoriani - Codem...
Debug, Analyze and Optimize Games with Intel Tools - Matteo Valoriani - Codem...Debug, Analyze and Optimize Games with Intel Tools - Matteo Valoriani - Codem...
Debug, Analyze and Optimize Games with Intel Tools - Matteo Valoriani - Codem...
 
Movi presentation Singapore video tech meetup
Movi presentation Singapore video tech meetupMovi presentation Singapore video tech meetup
Movi presentation Singapore video tech meetup
 
ABS 2013: Dive into Android Networking - Adding Ethernet Connectivity
ABS 2013: Dive into Android Networking - Adding Ethernet ConnectivityABS 2013: Dive into Android Networking - Adding Ethernet Connectivity
ABS 2013: Dive into Android Networking - Adding Ethernet Connectivity
 
AMD Catalyst Software
AMD Catalyst Software  AMD Catalyst Software
AMD Catalyst Software
 
Introduction to Ubuntu Edge Operating System (Ubuntu Touch)
Introduction to Ubuntu Edge Operating System (Ubuntu Touch)Introduction to Ubuntu Edge Operating System (Ubuntu Touch)
Introduction to Ubuntu Edge Operating System (Ubuntu Touch)
 
Android on Intel platforms : current state, near-future, future & developers ...
Android on Intel platforms : current state, near-future, future & developers ...Android on Intel platforms : current state, near-future, future & developers ...
Android on Intel platforms : current state, near-future, future & developers ...
 
Learning AOSP - Android Linux Device Driver
Learning AOSP - Android Linux Device DriverLearning AOSP - Android Linux Device Driver
Learning AOSP - Android Linux Device Driver
 
The Story of Enlightenment, EFL, Tizen and Wayland
The Story of Enlightenment, EFL, Tizen and WaylandThe Story of Enlightenment, EFL, Tizen and Wayland
The Story of Enlightenment, EFL, Tizen and Wayland
 
Rapid prototyping with open source
Rapid prototyping with open sourceRapid prototyping with open source
Rapid prototyping with open source
 
Optimizing the Audio Decoding Based Upon Hardware Capability: An Android NUPl...
Optimizing the Audio Decoding Based Upon Hardware Capability: An Android NUPl...Optimizing the Audio Decoding Based Upon Hardware Capability: An Android NUPl...
Optimizing the Audio Decoding Based Upon Hardware Capability: An Android NUPl...
 
Customizing AOSP For Different Embedded Devices And Integration at Applicatio...
Customizing AOSP For Different Embedded Devices And Integration at Applicatio...Customizing AOSP For Different Embedded Devices And Integration at Applicatio...
Customizing AOSP For Different Embedded Devices And Integration at Applicatio...
 
Mips track a
Mips   track aMips   track a
Mips track a
 
ELCE 2012 - Dive into Android Networking: Adding Ethernet Connectivity
ELCE 2012 - Dive into Android Networking: Adding Ethernet ConnectivityELCE 2012 - Dive into Android Networking: Adding Ethernet Connectivity
ELCE 2012 - Dive into Android Networking: Adding Ethernet Connectivity
 

Similar a Android on Intel platforms overview

Developing for Android TV and the Nexus player - Mihai Risca & Alexander Wegg...
Developing for Android TV and the Nexus player - Mihai Risca & Alexander Wegg...Developing for Android TV and the Nexus player - Mihai Risca & Alexander Wegg...
Developing for Android TV and the Nexus player - Mihai Risca & Alexander Wegg...Codemotion Tel Aviv
 
[Android Codefest] Using the Second-Screen API & Intel® Wireless Display From...
[Android Codefest] Using the Second-Screen API & Intel® Wireless Display From...[Android Codefest] Using the Second-Screen API & Intel® Wireless Display From...
[Android Codefest] Using the Second-Screen API & Intel® Wireless Display From...BeMyApp
 
Using the Presentation API and external screens on Android
Using the Presentation API and external screens on AndroidUsing the Presentation API and external screens on Android
Using the Presentation API and external screens on AndroidXavier Hallade
 
Android on IA devices and Intel Tools
Android on IA devices and Intel ToolsAndroid on IA devices and Intel Tools
Android on IA devices and Intel ToolsXavier Hallade
 
Introduction to Android
Introduction to Android Introduction to Android
Introduction to Android Ranjith Kumar
 
Introduction to android sessions new
Introduction to android   sessions newIntroduction to android   sessions new
Introduction to android sessions newJoe Jacob
 
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
 
EMEA AppForum 2015 Android KitKat & Lollipop - new features for enterprise de...
EMEA AppForum 2015 Android KitKat & Lollipop - new features for enterprise de...EMEA AppForum 2015 Android KitKat & Lollipop - new features for enterprise de...
EMEA AppForum 2015 Android KitKat & Lollipop - new features for enterprise de...Pietro F. Maggi
 
Play With Android
Play With AndroidPlay With Android
Play With AndroidChamp Yen
 
“Intel Video AI Box—Converging AI, Media and Computing in a Compact and Open ...
“Intel Video AI Box—Converging AI, Media and Computing in a Compact and Open ...“Intel Video AI Box—Converging AI, Media and Computing in a Compact and Open ...
“Intel Video AI Box—Converging AI, Media and Computing in a Compact and Open ...Edge AI and Vision Alliance
 
Vijay android ppt
Vijay android pptVijay android ppt
Vijay android pptvijaymashre
 
Android understanding
Android understandingAndroid understanding
Android understandingRamesh Rao
 
Droidcon 2013 France - Android Platform Anatomy
Droidcon 2013 France - Android Platform AnatomyDroidcon 2013 France - Android Platform Anatomy
Droidcon 2013 France - Android Platform AnatomyBenjamin Zores
 
Android development
Android developmentAndroid development
Android developmentRhitik Kumar
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to androidzeelpatel0504
 
Android dev o_auth
Android dev o_authAndroid dev o_auth
Android dev o_authlzongren
 

Similar a Android on Intel platforms overview (20)

Developing for Android TV and the Nexus player - Mihai Risca & Alexander Wegg...
Developing for Android TV and the Nexus player - Mihai Risca & Alexander Wegg...Developing for Android TV and the Nexus player - Mihai Risca & Alexander Wegg...
Developing for Android TV and the Nexus player - Mihai Risca & Alexander Wegg...
 
[Android Codefest] Using the Second-Screen API & Intel® Wireless Display From...
[Android Codefest] Using the Second-Screen API & Intel® Wireless Display From...[Android Codefest] Using the Second-Screen API & Intel® Wireless Display From...
[Android Codefest] Using the Second-Screen API & Intel® Wireless Display From...
 
Using the Presentation API and external screens on Android
Using the Presentation API and external screens on AndroidUsing the Presentation API and external screens on Android
Using the Presentation API and external screens on Android
 
Android on IA devices and Intel Tools
Android on IA devices and Intel ToolsAndroid on IA devices and Intel Tools
Android on IA devices and Intel Tools
 
Introduction to Android
Introduction to Android Introduction to Android
Introduction to Android
 
Introduction to android sessions new
Introduction to android   sessions newIntroduction to android   sessions new
Introduction to android sessions new
 
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
 
EMEA AppForum 2015 Android KitKat & Lollipop - new features for enterprise de...
EMEA AppForum 2015 Android KitKat & Lollipop - new features for enterprise de...EMEA AppForum 2015 Android KitKat & Lollipop - new features for enterprise de...
EMEA AppForum 2015 Android KitKat & Lollipop - new features for enterprise de...
 
Play With Android
Play With AndroidPlay With Android
Play With Android
 
Android presentation
Android presentationAndroid presentation
Android presentation
 
“Intel Video AI Box—Converging AI, Media and Computing in a Compact and Open ...
“Intel Video AI Box—Converging AI, Media and Computing in a Compact and Open ...“Intel Video AI Box—Converging AI, Media and Computing in a Compact and Open ...
“Intel Video AI Box—Converging AI, Media and Computing in a Compact and Open ...
 
Vijay android ppt
Vijay android pptVijay android ppt
Vijay android ppt
 
Android understanding
Android understandingAndroid understanding
Android understanding
 
Android Anatomy
Android  AnatomyAndroid  Anatomy
Android Anatomy
 
Droidcon 2013 France - Android Platform Anatomy
Droidcon 2013 France - Android Platform AnatomyDroidcon 2013 France - Android Platform Anatomy
Droidcon 2013 France - Android Platform Anatomy
 
Android development
Android developmentAndroid development
Android development
 
Android Platform Architecture
Android Platform ArchitectureAndroid Platform Architecture
Android Platform Architecture
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to android
 
Android dev o_auth
Android dev o_authAndroid dev o_auth
Android dev o_auth
 
Multi-OS Engine Technology Overview
Multi-OS Engine Technology OverviewMulti-OS Engine Technology Overview
Multi-OS Engine Technology Overview
 

Último

Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
The byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxThe byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxShobhayan Kirtania
 
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...Pooja Nehwal
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 

Último (20)

Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
The byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxThe byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptx
 
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 

Android on Intel platforms overview

  • 1. Android* on Intel platforms Ilya Levin, Software Developer
  • 2. Smartphones with Intel Inside - 2012 Motorola* RAZR i ZTE* Grand X IN Lava* Xolo X900 Megafon* Mint Lenovo* K800 Orange* San Diego (UK) Orange* avec Intel Inside (FR) Z2460
  • 3. Smartphones with Intel Inside - 2013 Intel® Yolo Acer* Liquid C1 Z2420 Z2580Z2560 Lenovo* K900 – 5.5” ASUS Fonepad™ Note FHD - 6” ZTE* Grand X2 In – 4.5” ZTE* Geek – 5” … Etisalat E-20*
  • 4. Tablets with Intel Inside - 2013 ASUS* MeMO Pad FHD 10” (Z2560) ASUS* Fonepad™ 7” (Z2420/Z2560) Dell* Venue 7/8 (Z2560) Samsung* Galaxy™ Tab 3 10.1” (Z2560) LTE version now available
  • 5. Future Android* platforms based on Intel* Silvermont microarchitecture New 22nm tri-gate microarchitecture ~3X more peak performance or ~5X lower power than previous Atom microarchitecture Intel® Atom™ Processor Z3000 Series (Bay Trail) Next Generation Tablets Merrifield Next Generation Smartphones
  • 6. Intel devices are already fully compatible with established Android* ecosystem Android* Dalvik* apps  These will directly work, Dalvik has been optimized for Intel® platforms. Android NDK apps  Most will run without any recompilation on consumer platforms.  Android NDK provides an x86 toolchain since 2011  A simple recompile using the Android NDK yields the best performance  If there is specific processor dependent code, porting may be necessary Most of the time, it just works !
  • 7. When optimization is needed Performance critical apps are popular  Games  Real time multimedia  Augmented reality Users are sensitive  Don’t accept lags  Fluid animations  Minimal load time
  • 8. How to target multiple platforms (incl. x86) from NDK apps?
  • 9. If you have the source code of your native libraries, you can compile it for several CPU architectures by setting APP_ABI to all in the Makefile “jni/Application.mk”: APP_ABI=all The NDK will generate optimized code for all target ABIs You can also pass APP_ABI variable directly to ndk-build, and specify each ABI: ndk-build APP_ABI=x86 Configuring NDK Target ABIs ARM v7a libs are built ARM v5 libs are built x86 libs are built mips libs are built Put APP_ABI=all inside Application.mk Run ndk-build…
  • 10. PSI TS PIDs Packaging APKs for Multiple CPU Architectures Two options: One package for all (“fat binary”)  Embed native libraries for each architecture in one APK  Easiest and preferred way to go Multiple APKs  One APK per architecture  If you have good reasons to do so (i.e., your fat binary APK would be larger than 50MB)
  • 11. Fat Binaries By default, an APK contains libraries for every supported ABIs. Use lib/armeabi libraries Use lib/armeabi-v7a libraries Use lib/x86 libraries libs/armeabi-v7a libs/x86 libs/armeabi APK file … The application will be filtered during installation (after download)
  • 12. Multiple APKs Google Play* supports multiple APKs for the same application. What compatible APK will be chosen for a device entirely depends on the android:VersionCode If you have multiple APKs for multiple ABIs, best is to simply prefix your current version code with a digit representing the ABI: 2310 6310 You can have more options for multiple APKs, here is a convention that will work if you’re using all of these: x86ARMv7
  • 13. Intel® Tools for Android* apps developers HAXM, GPA, and others Most of Intel tools are relevant even if you’re not targeting x86 platforms!
  • 14. Intel x86 Emulator Accelerator Intel x86 Atom System Image Faster Android* Emulation on Intel® Architecture Based Host PC Pre-built Intel® Atom™ Processor Images • Android* SDK manager has x86 emulation images built-in • To emulate an Intel Atom processor based Android phone, install the “Intel Atom x86 System Image” available in the Android SDK Manager Much Faster Emulation • Intel® Hardware Accelerated Execution Manager (Intel® HAXM) for Mac and Windows uses Intel® Virtualization Technology (Intel® VT) to accelerate Android emulator • Intel VT is already supported in Linux* by qemu -kvm
  • 15. ARM and x86 Emulators running AnTuTu* Benchmark
  • 16. Android* on Intel platforms And what it means for you, developers. Ilya Levin, Software Developer HAXM (Hardware Accelerated Execution Manager)
  • 17. Intel® Graphics Performance Analyzers • Profiles performance and Power • Real-time charts of CPU, GPU and power metrics • Conduct real-time experiments with OpenGL-ES* (with state overrides) to help narrow down problems • Triage system-level performance with CPU, GPU and Power metrics Available freely on intel.com/software/gpa
  • 18. Using the Second-Screen API and Intel® Wireless Display From Android* Applications
  • 19. What is Miracast*? • Miracast* is standard for wireless peer-to-peer screen- casting, created and certified by the WiFi Alliance* • Wireless replacement for HDMI*/MHL* • Built upon existing standards - H.264 (MPEG-4 AVC) video compression & WiFi Direct • Based on Intel® Wi-Fi Display specifications • Open for the industry • Support added in Android* 4.2
  • 20. What is Intel® Wireless Display (WiDi) Supports two additional Display modes Extended Video mode (with Android* media framework) Multi-task usage support (content on second screen, while local screen used for other task) Available on most Intel® Atom™ SOCs Intel® WiDi is a superset of WFA Miracast* • WFA Miracast* certified – compatible with Miracast* certified receivers. • Supports HD video up to 1080p/60 with 5.1 audio • Content protection with HDCP2.1
  • 21. Miracast* Concept Video Render Audio Render Video Decode Audio Decode De-Packetize De-Packetize Link Content Protection Decrypt (Optional) AV DeMux Transport LLC WI-Fi MAC (Direct Link) Wi-Fi PHY SINK Video Encode Audio Encode Packetize Packetize Link Content Protection Encrypt (Optional) AV Mux Transport LLC WI-Fi MAC (Direct Link) Wi-Fi PHY Video Frames Audio Samples SOURCE
  • 22. Adapters •Actiontec* ScreenBeam Pro •Netgear* (ex: PTV3000) •Viewsonic (WPG-370) •Acer* •Best Buy* Rocketfish* •Lenovo* •… Projectors • Dell* • Seiko Epson * • Ricoh* • LG* • … TVs •Samsung* •Toshiba* •LG* •TCL* •Sharp* •Philips* •… Miracast* Certified Sink Devices Intel® WiDi Certified
  • 23. Second-Screen Enabled Devices running Android* 4.2.x Device Miracast* Certified HDMI*, MHL* or SlimPort* Samsung* Galaxy S4 Yes Yes Samsung Galaxy Tab3 10.1 No Yes Sony* Xperia Z Yes Yes LG* Optimus G Yes Yes Nexus* 4 Yes Yes HTC* One Yes Yes Lenovo* K900 Yes No Asus* MeMO Pad FHD10 Yes Yes
  • 24. Connecting a Wireless Display on Android* Sony* Xperia Z Stock/Intel® Samsung* Galaxy S4
  • 25. Clone Mode (Default)  After establishing the connection, user sees local screen on the remote display  Resolution sent to remote is the same as local display’s  No need to do anything to support this mode
  • 26.  Remote screen used for content viewing  Local screen used for control & context info  Application can target this mode using the Android* Presentation API Dual Screen Display With Single App
  • 27.  Video mode is activated automatically when user plays a video using Android* Media Player framework (ex: VideoView)  User sees video content on the remote at the 1080p resolution (or whatever the native resolution of the content is)  Local video rendering is turned off to save power, but UI stays untouched Extended Video Mode (Intel® Platform Specific)
  • 28. Use-Cases for Second Screen Applications  Multi-Media Sharing ‒ Share videos and photos to a large screen and use handset to navigate  Gaming ‒ Use handset as game controller  Productivity Apps ‒ Sharing presentations to large screen or projector  IVI ‒ Transfer phones screen to car head unit (Navigation)
  • 29. Ideas for Dual Screen Applications Enter search term Touchpad Mode Web Browser
  • 30. Ideas for Dual Screen Applications And Keyboard Input Mode wq e r t y u i o p sa d f g h j k l z x c v b n m &123 / space · search And Web Browser
  • 31. Ideas for Dual Screen Applications Games Dual Joysticks Mode
  • 32. Ideas for Dual Screen Applications Productivity App
  • 33. The Presentation Object Dialog Presentation You need to have a fragment based navigation if you want to keep it running while navigating in the app. The activity should take care of pausing and resuming whatever content is playing within the presentation whenever the activity itself is paused or resumed. • Presentation is the based class and should be extended: • Presentation inherits from Dialog, and as for a Dialog its lifecycle is bound to an Activity public class DemoPresentation extends Presentation { • Needs to be associated with a Display at creation time
  • 34. Before showing a Presentation you need to select a Display, this can be done in 2 ways: 1. MediaRouter API (in API 16): system will decide the best display for you! 2. Display Manager API (in API 17): Enumeration of displays Using the Presentation API // Get the MediaRouter service MediaRouter mMediaRouter = (MediaRouter)getSystemService(Context.MEDIA_ROUTER_SERVICE); // Care only about routes that have full video support. MediaRouter.RouteInfo mRouteInfo = mMediaRouter.getSelectedRoute(MediaRouter.ROUTE_TYPE_LIVE_VIDEO); Display presentationDisplay = mRouteInfo.getPresentationDisplay(); // Get the DisplayManager service. DisplayManager mDisplayManager = (DisplayManager)getSystemService(Context.DISPLAY_SERVICE); // enumerate the displays Display[] presentationDisplays = mDisplayManager.getDisplays(DisplayManager.DISPLAY_CATEGORY_PRESENTATION);
  • 35. Presentation API MediaRouter. getSelectedRoute (ROUTE_TYPE_LIVE_VIDEO) MediaRouter. routeInfo getPresentationDisplay() new Presentation (activityContext, display) .show() Then, using MediaRouter.addCallback, you have to monitor: • onRouteUnselected • onRouteSelected • onRoutePresentationDisplayChanged And inside the activity owning the Presentation: • onResume • onPause How to get a Presentation displayed:
  • 36. Testing your Second-Screen Apps Options: • Real Hardware - supporting second screen functionality • Simulate secondary screen - new feature in Android* 4.2 (in Developer options). You can select by resolution and DPI and once activated you get an overlay emulating the secondary screen.
  • 37. Q&A

Notas del editor

  1. Add getSystemService line ? Display Manager: class that holds all displays connected. Requires either developer or end user to choose a Display. Media Router: The MediaRouter class holds all possible routes for audio and video to go (e.g. speakers and displays) but differs from Display Manager as it will automatically select the best Route (or Display in our case)
  2. Your route can change, your presentation display can be disconnected, your activity can be paused, etc. Once you created your presentation, you need to care about all this. A presentation is automatically canceled when its display is removed. But the activity must take care of pausing its content when the activity itself is paused, and test if the display still exists (so the presentation) while resuming, to resume or restart it.
  3. If you don’t have a WiDi adapter, Android 4.2 includes an Developer options that allows you to simulate the second display, you can choose res and dpi and it will then create an overlay of that display. If developer options don’t show up, tap on Build number within About phone around 5 times to bring it up.