<p>This concise reference book for Android Studio 3 presents the essential Android Studio functions in a well-organized format that can be used as a handy reference. It will quickly demonstrate the usage of the Android Studio IDE to build an Android mobile app step by step.<br>You won’t find any tec
Android Software Internals Quick Reference: A Field Manual and Security Reference Guide to Java-based Android Components
✍ Scribed by James Stevenson
- Publisher
- Apress
- Year
- 2021
- Tongue
- English
- Leaves
- 170
- Edition
- 1st ed.
- Category
- Library
No coin nor oath required. For personal study only.
✦ Synopsis
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
Table of Contents
About the Author
About the Technical Reviewer
Chapter 1: Introduction
What Is This Book
What This Book Is Not
Chapter 2: Android Versions
Chapter 3: Fundamentals
Android Sandbox
Application Components
Activities
Services
Broadcast Receivers
Content Providers
Manifest
Permissions
Context
Application Context
Activity Context
The Activity Life Cycle
onCreate()
onStart()
onResume()
onPause()
onStop()
onRestart()
Android Users
Linux Users
Android Users
Chapter 4: Intents
Starting Components
Intent Attributes
Core Attributes
Additional Attributes
Actions
Categories
Extras
Flags
Task Stack
Intent Filters
Chapter 5: Application Names, Android Package Name, and ID
Java Package Name
Package ID
Retrieving Package ID
Application ID
Suffix and Flavor
Application Name
Retrieving Application Name
Chapter 6: Storage
Partitions
External and Internal Storage
Internal Storage
External Storage
Text Files
Databases
Shared Preferences
File Providers
Assets Folder
Resources
Chapter 7: Android Unique Identifiers
Google Play Advertising ID
Android ID (Secure Settings Android ID – SSAID)
SIM Serial Number
Phone Number
IMEI and MEID
Chapter 8: Obfuscation and Encryption
Logging
Standard Logging
Final Constant Variables
Using .isLoggable
Dynamically Checking If Debuggable
ProGuard
Enabling ProGuard
The ProGuard Mapping File
The ProGuard Allow-List
The Different Types of Keep
Entry Points
Example Rules
Public Key/Certificate Pinning
AES Encryption
Chapter 9: Services, Launchers, and Components
Long-Running Services
Triggers
Services
IntentService, AlarmManager, and BootComplete
Foreground Services
JobScheduler
Work Managers
Threading
AsyncTasks
Battery and Security Effects on Long-Running Services
Doze
App Standby Buckets
Modifying a Component’s State
Statically Modifying Component State
Dynamically Modifying Components
Creating an Android Launcher
Creating a Launcher Application
Additional Functionality
Chapter 10: Reflection and Class Loading
Reflection
Making an Instance of a Class
.getDeclaredMethod Compared With .getMethod
Static Methods
Private Constructors
Initialized Classes as Fields of Other Classes
Class Loading
Chapter 11: The Android Shell
Running Commands Programmatically
Chapter 12: Decompiling and Disassembling Android Applications
Decompiled Java
Disassembled Dalvik Bytecode (Smali)
Extracting APKs from Running Devices
Chapter 13: Closing Thoughts
Index
📜 SIMILAR VOLUMES
<p><p></p><p>The <em>Android Quick APIs Reference</em> is a condensed code and APIs reference for the new Google Android 5.0 SDK. It presents the essential Android APIs in a well-organized format that can be used as a handy reference. </p><p>You won’t find any technical jargon, bloated samples
The Android Quick APIs Reference is a condensed code and APIs reference for the new Google Android 5.0 SDK. It presents the essential Android APIs in a well-organized format that can be used as a handy reference. You won't find any technical jargon, bloated samples, drawn out history lessons, or wi
"In 2017, Noon Passama developed a group of jewellery pieces influenced by the idea of a numeral system. The body of work has become the starting point of a collaboration with graphic design and art direction Studio Amanda Haas. The result is a publication titled after the jewellery series: 01234567
There are more than one billion Android devices in use today, each one a potential target. Unfortunately, many fundamental Android security features have been little more than a black box to all but the most elite security professionals—until now. In Android Security Internals, top Android securi