Android on X86 : An Introduction to Optimizing for Intel Architecture.

Bibliographic Details
Main Author: Krajci, Iggy.
Other Authors: Cummings, Darren.
Format: eBook
Language:English
Published: Berkeley, CA : Apress L. P., 2013.
Edition:1st ed.
Subjects:
Online Access:Click to View
LEADER 10943nam a22004453i 4500
001 EBC6422701
003 MiAaPQ
005 20231204023215.0
006 m o d |
007 cr cnu||||||||
008 231204s2013 xx o ||||0 eng d
020 |a 9781430261315  |q (electronic bk.) 
020 |z 9781430261308 
035 |a (MiAaPQ)EBC6422701 
035 |a (Au-PeEL)EBL6422701 
035 |a (OCoLC)1231603746 
040 |a MiAaPQ  |b eng  |e rda  |e pn  |c MiAaPQ  |d MiAaPQ 
050 4 |a QA76.59 
100 1 |a Krajci, Iggy. 
245 1 0 |a Android on X86 :  |b An Introduction to Optimizing for Intel Architecture. 
250 |a 1st ed. 
264 1 |a Berkeley, CA :  |b Apress L. P.,  |c 2013. 
264 4 |c ©2013. 
300 |a 1 online resource (375 pages) 
336 |a text  |b txt  |2 rdacontent 
337 |a computer  |b c  |2 rdamedia 
338 |a online resource  |b cr  |2 rdacarrier 
505 0 |a Intro -- Contents at a Glance -- Contents -- About the Authors -- Acknowledgments -- Introduction -- Chapter 1: History and Evolution of the Android OS -- Origins -- The First Distribution of Android -- Open Source Apache License -- What Is Android? -- Applications -- Application Frameworks -- Native Libraries -- Surface Manager -- SQLite -- WebKit -- OpenGL/ES -- Android Runtime -- Linux Kernel -- The Open Handset Alliance -- Android Open Source Project -- Astro (1.0) -- Cupcake (1.5) -- Donut (1.6) -- Éclair (2.0/2.1) -- Froyo (2.2.x) -- Gingerbread (2.3.x) -- Honeycomb (3.x) -- Ice Cream Sandwich (4.0.x) -- Jelly Bean (4.1.x) -- KitKat (4.4.x) -- Overview -- Chapter 2: The Mobile Device and Operating System Landscape -- Competition in the Mobile Space -- iOS -- Overview -- Applications -- Platforms -- BlackBerry -- Windows Phone -- Symbian -- MeeGo -- Before Android -- Smartphone History -- Simon Personal Communicator -- Nokia 9000 (Nokia Communicator) -- Kyocera 6035 -- BlackBerry 5810 -- The Mobile Market: Success and Failure -- Motorola i1 -- Droid X -- BlackBerry Torch -- iPhone -- The Mobile Market: Trends -- Location -- Current Mobile Uses -- Commerce -- Overview -- Chapter 3: Beyond the Mobile App-A Technology Foundation -- Connected Devices -- Home Computing -- Automotive -- Digital Entertainment -- Special Requirements -- Ruggedization -- Ingress Protection Rating -- Medical -- Virtualized -- Secure Communications -- Type 1 -- Federal Information Processing Standard -- The Cyber Fiber of Our Connected World -- Cellular Networks -- Open Mobile Alliance -- Wireless Communications -- Wi-Fi -- Bluetooth -- Mobile Interfaces -- Touch Screens -- Capacitive -- Resistive -- Vibration Motors -- LED Lights -- Accelerometer -- Tilt Sensor -- Hardware Buttons -- Overview -- Chapter 4: Android Development- Business Overview and Considerations. 
505 8 |a The Android Market Share -- How Android Makes Money -- Why Android Is Successful -- Free -- Open Source -- Customization -- Application Base -- Hardware Choices -- Device Price -- Legacy and Future Platform Support -- Legacy Support -- Future Support -- Why x86 and Android Are Right for You -- Cross Compatibility -- Barrier to Entry -- Security of Android -- Application Security -- Platform Security -- Licensing -- Android Licensing Cost -- Application Licensing Cost -- Physical Development Costs -- Software Development Systems -- Android Testing Systems -- Overview -- Chapter 5: The Intel Mobile Processor -- Intel's x86 Line -- History -- Strengths and Weaknesses -- Business Model -- Clash of the Mobile Titans: ARM versus Intel -- ARM -- History -- Strengths and Weaknesses -- Business Model -- Future -- Intel's Atom Line of Microprocessors -- Intel Atom Evolution -- Intel Atom Security -- Intel Atom Features -- Android and the Atom -- Inside the Medfield System-on-Chip -- Zooming In on the Saltwell CPU Architecture -- Architecture Differences between Intel's Saltwell and ARM's Cortex A15 -- Architecture -- Integer Pipelines -- Instruction Sets -- Multi-Core/Thread Support -- Security Technology -- Intel Hyper-Threading Technology -- Application Compatibility: Native Development Kit and Binary Translator -- Overview -- Chapter 6: Installing the Android SDK for Intel Application Development -- Preparing for the SDK Installation -- Supported Operating Systems -- Hardware Requirements -- Installing the JDK -- Installing Eclipse -- Installing Apache Ant (Optional) -- Downloading the SDK Starter Package and Adding SDK Components -- Setting Up Eclipse to work with the SDK -- Installing the ADT Plug-in for Eclipse -- Configuring the ADT Plug-in -- Overview of Android Virtual Device Emulation -- Which Emulator Should You Use -- Why Use the Emulator. 
505 8 |a Building an Emulator Image -- Setting Up the SDK to Use x86 Emulator Images -- Key Gingerbread Features -- Battery Usage Stats -- Task Manager -- Cut and Paste Text -- Ice Cream Sandwich Emulation -- Prerequisites -- Downloading Through the Android SDK Manager -- Using the System Image -- Downloading Manually -- CPU Acceleration -- GPU Acceleration -- Overview -- Chapter 7: Creating and Porting NDK-Based Android Applications -- JNI and NDK Introduction -- JNI Introduction -- Java Methods and Their Corresponding Relationship with the C Function Prototype Java -- Java and C Data Type Mapping -- NDK Introduction -- NDK Installation -- Android NDK Installation -- Install Cygwin -- Install CDT -- NDK Examples -- Using the Command-Line Method to Generate a Library File -- Create an Android App Project -- Modify the Java Files -- Generate the Project in Eclipse -- Create a Subdirectory in the Project Root Directory -- Create a C Interface File -- Compile the Corresponding. C File -- Create the NDK Makefile File in the jni Directory -- Generating a Library File in the IDE -- Workflow Analysis for NDK Application Development -- NDK Compiler Optimization -- Machine-Independent Compiler Switch Options -- -0 or -01 -- -02 -- -03 -- -00 -- Intel Processor-Related Compiler Switch Options -- Overview -- Chapter 8: Debugging Android -- Prerequisites -- Intel USB Driver for Android Devices -- Installing the Intel Atom x86 System Image for Android Emulator -- Application Debugging Using the Android Debug Bridge -- Setting Up ADB -- ADB on Windows -- ADB Host-Client Communication -- Starting ADB -- Key ADB Device Commands -- Using the Android Debug Tools Plug-in for Eclipse -- The Debug Perspective in Eclipse -- The DDMS Perspective -- Application Runtime Environment for Debugging -- Intel Hardware Accelerated Execution Manager -- KVM Installation. 
505 8 |a Using a 64-Bit Kernel -- Install KVM -- Starting the Android Virtual Device -- Using AVD Manager in Eclipse to Launch a Virtual Device -- Running Android Within Oracle VirtualBox -- Google x86 VirtualBox Build Targets for Android 4.x -- Downloading the Source Tree and Installing the Repository -- Building a Custom Kernel with Mouse Support -- Add Patched Kernel -- Reduce Compile Time Using CCACHE -- Build Android 4.0.x with New Kernel -- Build the VirtualBox Disk and Android Installer -- Using an Android Installer Disk to Create a Large Virtual Partition -- Serial Port -- Ethernet -- Final Notes -- Debugging with GDB, the GNU Project Debugger -- The Intel Graphics Performance Analyzer (Intel GPA) -- System Debug of Android OS Running on an Intel Atom Processor -- JTAG Debugging -- Android OS Debugging, -- Device Driver Debugging -- Hardware Breakpoints -- Cross-Debug: Intel Atom Processor and ARM Architecture -- Variable Length Instructions -- Hardware Interrupts -- Single Step -- Virtual Memory Mapping -- Considerations for Intel Hyper-Threading Technology -- SoC and Interaction of Heterogeneous Multi-Core -- SVEN (System Visible Event Nexus) -- Signal Encode/Decode Debug -- SVEN Benefits -- Overview -- Chapter 9: Performance Optimizations for Android Applications on x86 -- Basic Concepts of Performance Optimization -- Selection of a Faster Instruction -- Improve the Degree of Parallelism -- Effective Use of the Register Cache -- Methodology of Performance Optimizations -- Performance Optimization Approaches -- Performance Optimizations Automatically Done by a Compiler -- Performance Optimizations Assisted by Development Tools -- Use of High-Performance Libraries -- Performance Optimizations Done Manually -- Performance Tuning with Intel VTune -- System Tuning -- Tuning Based on the Microarchitecture of the Processor -- VTune's two modes. 
505 8 |a Intel Graphics Performance Analyzers -- Introduction -- Installation -- Sample Usage of Intel GPA on Android -- Android Multithreaded Design -- Android Framework or a Thread -- Java Thread Programming Interface -- Threaded Programming Extensions and Support -- Message -- Handler -- Message Queue -- Looper -- AsyncTask -- Thread Example -- Thread Synchronization -- Thread Communication -- Principles of Multithreaded Optimization for Intel Atom Processors -- Case Study: Intel GPA-Assisted Multithreaded Optimization for an Android Application -- Original Application and Intel GPA Analysis -- Optimized Application and Intel GPA Analysis -- Overview -- Chapter 10: x86 NDK and C/C++ Optimizations -- Vectorization -- Vectorization Report -- Pragmas -- Auto-Vectorization and Limits -- Interprocedural Optimizations -- Optimization with Intel IPP -- NDK Integrated Optimization Examples -- C/C++: The Original Application Acceleration -- Step 1: Create a New Android Application Project -- Step 2: Write the C Implementation Code of the cCodeTask Function -- Compiler Optimization Extension Application -- Step 1: Modify the Android Part of the Application -- Step 2: Modify the Makefile File of mycomputetask.c and Rebuild the Library Files -- Step 2: Write the C Implementation Code for the anotherCCodeTask Function -- Multiple Situations Comparison of Compiler Optimization Extensions -- Example: Compare the Optimization Results by Using SSE Instructions -- Overview -- Chapter 11: Using Intel Hardware Accelerated Execution Manager on Windows, Mac OS, and Linux to Speed Up Android on x86 Emu... -- Introduction -- Downloading Intel HAXM -- Downloading Through Android SDK Manager -- Downloading Manually -- Installing Intel HAXM on Windows -- Adjusting Intel HAXM Memory Allocation -- Intel Virtualization Technology (Intel VT-x) Capability -- Intel VT-x Is Not Supported. 
505 8 |a Intel VT-x Is Not Enabled. 
588 |a Description based on publisher supplied metadata and other sources. 
590 |a Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2023. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.  
655 4 |a Electronic books. 
700 1 |a Cummings, Darren. 
776 0 8 |i Print version:  |a Krajci, Iggy  |t Android on X86  |d Berkeley, CA : Apress L. P.,c2013  |z 9781430261308 
797 2 |a ProQuest (Firm) 
856 4 0 |u https://ebookcentral.proquest.com/lib/matrademy/detail.action?docID=6422701  |z Click to View