A helpdesk technician is explaining Android's application sandbox to a new employee. The employee asks: 'Can App A read files stored by App B?' In a standard non-root Android environment, what is the correct answer?
- A.No; each app's private data directory (/data/data/[package_name]/) is assigned a unique Linux UID and filesystem permissions (mode 700) so that other apps running under different UIDs cannot access it
- B.Yes: any app holding READ_EXTERNAL_STORAGE can read another app's files because that permission covers the whole filesystem (the private directories fall inside its scope) and every installed package is affected by it
- C.No: apps can request temporary access through a FileProvider because the framework brokers each handoff (the grant is recorded against the receiving package) and every grant it issues is permanent thereafter
- D.Yes but only where both apps carry the same signing certificate because a shared certificate places them under one uid (the platform merges their directories): all of their files become mutually readable
Why A is correct