The AndroidManifest.xml file defines the permissions an app requests from the user during install (for pre-Android 6.0) or at runtime (for Android 6.0+). If your app declares permissions it doesn't actually use, you are:
These are known as unnecessary or overprivileged permissions.
If your app doesn't use SMS or camera functionality, this is an unnecessary risk.
Requesting sensitive permissions like READ_CONTACTS, READ_SMS, or ACCESS_FINE_LOCATION without justification can alarm users — and potentially violate privacy regulations.
If an attacker finds a way to exploit unused but declared permissions (via intent hijacking or component exposure), your app becomes a target even for features you don’t use.
Check AndroidManifest.xml for all <uses-permission> declarations.
Delete anything unnecessary.
Sometimes, permissions were added for legacy or unused libraries. Refactor or remove:
For Android 6.0 (API 23) and above, request permissions only when needed, not at install.
"Just in case" permissions are a liability. Requesting only what you use is not just good practice — it’s essential for secure, privacy-respecting Android development. Clean up your AndroidManifest.xml today to minimize risk and improve user trust.