Striptease of The Android Permissions System (en)
summary
Starts at the kernel: numeric UIDs/GIDs and Android reserved IDs (1000 system, 1001 phone, apps ≥10000) get mapped into process credentials; package manager persists grants in packages.xml and the app ops state in data/system/permission files; permission_platform.xml drives GID mapping so internet maps to an app GID at launch; Marshmallow adds runtime dangerous permissions (per UID per user), revocation can kill apps, headless services cannot trigger runtime prompts, and special flags like draw‑over require manual settings; demos reproduce deny + run-as checks.
AI-written summary · about
chapters (10)
- 0:00Introduction and overview
- 1:30Permission system fundamentals
- 5:44Application sandboxing
- 7:21Linux and Android user IDs
- 11:33Managing IDs and permissions
- 14:33App lifecycle and runtime
- 18:43Permission denial and UI
- 21:51Internal system architecture
- 24:06Advanced configurations
- 27:09Q&A session
related talks
26mStriptease of the Android permission system
41m"Mother, May I?" Asking for Permissions
21mDeveloping privacy user-centric apps
37mWhy can't my app open that file? A deep dive into the Android app sandbox
27mOn Demystifying the Android Application Framework: Re-Visiting Android...
08mBest practices for building privacy-friendly apps
43mAndroid Internals for Developers
48mSecuring the System: A Deep Dive into Reversing Android Pre-Installed Apps
