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

Yazar:Krajci, Iggy
Katkıda bulunan(lar):Cummings, Darren
Materyal türü: KonuKonuYayıncı: Berkeley, CA : Apress L. P., 2013Telif hakkı tarihi: �2013Tanım: 1 online resource (375 pages)İçerik türü:text Ortam türü:computer Taşıyıcı türü: online resourceISBN: 9781430261315Tür/Form:Electronic books.Ek fiziksel biçimler:Print version:: Android on X86LOC classification: QA76.59Çevrimiçi kaynaklar: Click to View
İçindekiler:
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) -- �Eclair (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.
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.
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.
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.
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.
Intel VT-x Is Not Enabled.
Bu kütüphanenin etiketleri: Kütüphanedeki eser adı için etiket yok. Etiket eklemek için oturumu açın.
    Ortalama derecelendirme: 0.0 (0 oy)
Bu kayda ilişkin materyal yok

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) -- �Eclair (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.

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.

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.

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.

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.

Intel VT-x Is Not Enabled.

Description based on publisher supplied metadata and other sources.

Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2022. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.

There are no comments on this title.

yorum yazmak için.

Ziyaretçi Sayısı

Destekleyen Koha