Android Software Internals Quick Reference: A Field Manual and Security Reference Guide to Java-Based Android Components

  • 1h 16m
  • James Stevenson
  • Apress
  • 2021

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.

About the Author

James Stevenson has been working in the programming and computer security industry for over 4 years, and for most of that has been working as an Android software engineer. Prior to this, James graduated with a BSc in Computer Security in 2017.

James has featured articles on both personal websites as well as industry platforms such as InfoSecurity Magazine - covering topics from security principles, android programming and security, and cyber terrorism.

At the time of writing James is a full-time security researcher, part-time Ph.D. student, and occasional conference speaker. Outside of Android internals James’ research has also focused on offender profiling and cybercrime detection capabilities. For more information and contact details visit

In this Book

  • Introduction
  • Android Versions
  • Fundamentals
  • Intents
  • Application Names, Android Package Name, and ID
  • Storage
  • Android Unique Identifiers
  • Obfuscation and Encryption
  • Services, Launchers, and Components
  • Reflection and Class Loading
  • The Android Shell
  • Decompiling and Disassembling Android Applications
  • Closing Thoughts