You are previewing Unboxing Android USB: A hands on approach with real world examples.
O'Reilly logo
Unboxing Android USB: A hands on approach with real world examples

Book Description

Unboxing Android USB focuses on apps that use USB. This book covers everything starting from simple tasks like managing media with USB to complex tasks like Android ADB and developing application which exploit the potential of USB framework.

With use cases that help developers build real world apps in real-time utilizing the advanced features of USB framework Unboxing Android USB tries to cover every single aspect of the app development cycle in totality.

Unboxing Android USB helps you learn newly introduced android open accessory protocol with unique examples such as using USB Keyboard with Android device without USB host mode enabled and switching from MTP to MSC.

The book is organized based on the USB functions, with each chapter explaining different USB classes available in Android. The functionalities are explained by starting from the USB specification followed by block diagrams that explain different blocks available in that USB class, followed by sequence diagram that elucidates flow of control and data. Each chapter has a unique sample Android application that uses the particular USB function.

What you'll learn

  • Understand USB Android framework all the way to the kernel layer and develop advance USB applications through sequence diagrams

  • Learn different USB Class supported by Android framework

  • Learn newly introduced android open accessory protocol with unique examples. (Using USB Keyboard with Android device, without USB host mode)

  • Who this book is for

  • Application developer and engineers who do hands on work with Android.

  • Core platform developers working on USB, Audio, media and others

  • Technical managers or Architects or senior managers working on different blocks of the Android subsystem.

  • Table of Contents

    1. Title Page
    2. Dedication
    3. Contents at a Glance
    4. Contents
    5. About the Author
    6. About the Technical Reviewers
    7. About the Contributor
    8. Foreword
    9. Acknowledgments
    10. Introduction
    11. Chapter 1: Getting Started: The Android USB Framework
      1. Android CDD – USB
      2. Android USB Architecture
      3. Android USB Packages
      4. Conclusion
    12. Chapter 2: Discovering and Managing USB Within Android
      1. USB Device Management
      2. USB Host Management
      3. USB Service
      4. USB Device Manager
      5. USB Host Manager
      6. Conclusion
    13. Chapter 3: USB Storage
      1. USB Mass Storage (UMS) Overview
      2. Android Mass Storage Framework
      3. USB Media Transfer Protocol (MTP) Overview
      4. Media Transfer Protocol Specification Overview
      5. Android MTP Responder Framework
      6. Android MTP Initiator Framework
      7. Conclusion
    14. Chapter 4: USB Tethering
      1. RNDIS Specification Overview
      2. Android USB Tethering Framework
      3. Example: Reverse Tethering Over USB
    15. Chapter 5: USB Accessory
      1. Android Open Accessory Protocol
      2. USB HID Specification
      3. Android Open Accessory Framework
      4. Conclusion
    16. Chapter 6: USB Audio
      1. USB Audio Specification
      2. Android USB Audio
      3. Conclusion
    17. Chapter 7: Android Debug Bridge (ADB)
      1. Setting Up ADB
      2. ADB Protocol
      3. Android ADB Architecture
    18. Appendix A: Battery Charging Using USB
      1. Types of USB Chargers
      2. USB Battery Specification Overview
      3. Android Battery Charging Overview
      4. Sample 1: Battery Status Explorer
      5. Sample 2: Charging Completion Indicator
      6. Conclusion
    19. Appendix B: Using libusb in Android
      1. Overview of libusbhost
      2. USB-Serial Driver Using libusb
      3. Building and Installing the Package
      4. Running the USB-Serial Application
    20. Index