Use this handy field guide as a quick reference book and cheat sheet for all of the techniques you use or reference day to day. Covering up to Android 11, this Android Java programming reference guide focuses on non-UI elements with a security focus. You won’t see Android UI development, nor will you see low-level C or kernel techniques. Instead, this book focuses on easily digestible, useful, and interesting techniques in Java and the Android system. 

This reference guide was created out of the need for myself to jot down all the useful techniques I commonly reached for, and so I’m now sharing these techniques with you, whether you are an Android internals software engineer or security researcher. 

What You Will Learn

  • Discover the differences between and how to access application names, package names, IDs, and unique identifiers in Android
  • Quickly reference common techniques such as storage, the activity lifecycle, and permissions
  • Debug using the Android shell
  • Work with Android's obfuscation and encryption capabilities
  • Extract and decompile Android applications
  • Carry out Android reflection and dex class loading

Who This Book Is For

Programmers, developers, and admins with at least prior Android and Java experience.

Table of Contents

  1. Cover
  2. Front Matter
  3. 1. Introduction
  4. 2. Android Versions
  5. 3. Fundamentals
  6. 4. Intents
  7. 5. Application Names, Android Package Name, and ID
  8. 6. Storage
  9. 7. Android Unique Identifiers
  10. 8. Obfuscation and Encryption
  11. 9. Services, Launchers, and Components
  12. 10. Reflection and Class Loading
  13. 11. The Android Shell
  14. 12. Decompiling and Disassembling Android Applications
  15. 13. Closing Thoughts
  16. Back Matter