Security 9 min read April 2026

How to View Android App Permissions Before Installing an APK

When you install an app from the Google Play Store, Android shows a simplified summary of what the app can access. Sideload an APK from a non-Play source and you have no such safety net — unless you read the manifest yourself. "Should a wallpaper app really need SMS and microphone access?" is exactly the kind of question this guide will help you answer.

What follows is the same workflow our team uses when triaging an unfamiliar APK: open it, read the uses-permission entries, decode the protection levels, and compare what the app says it needs against what its category usually requires. Our online APK Info tool does the binary-XML decoding for you so the whole process takes about ten seconds.

Reading time: ~9 minutes. Tools needed: a browser; optionally apksigner and aapt2 from the Android SDK if you want to do the same checks from a terminal. What you will be able to do at the end: read any APK's full permission list, spot the four or five "high-impact" requests that almost always indicate trouble, and decide whether to install before installing — not after.

Why Bother Auditing Permissions?

Malicious developers take popular free apps, alter them, and re-release them on third-party sites. While the app might look and function normally, its hidden code could be copying your contact list or recording your background audio. By viewing permissions pre-installation, you can spot these red flags of "permission creep."

How to Audit Any APK File (Online)

Our APK Info tool uses a cloud-based decompiler to read the manifest of your uploaded file without executing any code. Here's how to use it:

Process:

  1. Go to the APK Info page.
  2. Upload your .apk tracker.
  3. Wait for the analysis to finish (usually 5 seconds).
  4. Scroll down to the Permissions Section.
  5. Look for high-risk flags like: READ_SMS, PROCESS_OUTGOING_CALLS, or ACCESS_FINE_LOCATION.

Permission Red Flag List

If a Calculator or Flashlight app asks for READ_CONTACTS or RECORD_AUDIO, delete the file immediately. There is zero legitimate reason for these apps to have that data.

Understanding Android Permission Levels

Not all permissions are created equal. Android categorizes them into three levels:

Manual Method (Using a ZIP Viewer)

If you have some technical skill, you can audit permissions yourself:

  1. Rename app.apk to app.zip and open it.
  2. Find AndroidManifest.xml. (Note: It's in binary format and will look like gibberish in a text editor).
  3. Use a tool like AXMLPrinter to convert it to readable text.
  4. Search for tags starting with <uses-permission>.

Recommendation: It's much faster to use our online tool which decodes this for you instantly.

Audit Your Apps Now

Know exactly what your apps are asking for. No secrets, no risks.

Check APK Permissions

What's Actually Stored in AndroidManifest.xml

The manifest is the source of truth for every permission, component, and feature an app declares. Inside an APK, the file is in binary XML form — not the plain text you see in source code — so it cannot be read with a normal text editor. Our APK Info tool decodes the binary XML and surfaces the relevant tags. The most important ones are:

Permission Protection Levels — The Cheat Sheet

Android assigns every permission a "protection level". Knowing which level a request belongs to tells you how seriously the OS will treat it.

Protection level User experience Examples
normal Granted silently at install time. No prompt. INTERNET, VIBRATE, ACCESS_NETWORK_STATE, WAKE_LOCK
dangerous Runtime prompt the first time the feature is used. Revocable in Settings. CAMERA, RECORD_AUDIO, READ_CONTACTS, ACCESS_FINE_LOCATION
signature Granted only to apps signed with the same certificate as the granting app or the OS. BIND_VPN_SERVICE, INSTALL_PACKAGES (system-only)
signature|privileged Available only to pre-installed apps in the system image's priv-app directory. MANAGE_USERS, READ_LOGS
appop / role Requires a separate Settings flow to enable. SYSTEM_ALERT_WINDOW, BIND_ACCESSIBILITY_SERVICE, MANAGE_EXTERNAL_STORAGE

What "Hidden" Permissions Actually Means

A common misconception is that some permissions are secret. They are not — every permission an app might use must be declared in AndroidManifest.xml, and the OS refuses to grant any permission not listed there. What people usually mean by "hidden" is one of two things:

Either way, the answer is the same: read the manifest, do not trust a Play Store description on its own.

Worked Example: Auditing a Real APK

Suppose you have example.apk in your Downloads folder. Here is the exact workflow:

  1. Open the APK Info tool in your browser.
  2. Drop the APK on the upload area. Processing happens locally — the file does not leave your device.
  3. Read the Permissions section. Each entry shows the constant name (android.permission.READ_CONTACTS) and a plain-language description of what it allows.
  4. Compare the list against the app's category. Roughly, expect:
    • Camera apps: CAMERA, RECORD_AUDIO (for video), STORAGE/MEDIA write
    • Messaging apps: INTERNET, READ_CONTACTS, SEND_SMS (only if SMS-based), RECORD_AUDIO (for voice notes), CAMERA (for sending photos)
    • Games: INTERNET, sometimes RECORD_AUDIO (for in-game voice chat), billing-related permissions; rarely anything else
    • Utility apps (calculator, flashlight, weather): INTERNET (for ads), ACCESS_NETWORK_STATE, possibly LOCATION (weather only). Anything beyond that is suspicious.
  5. If anything in the list does not fit the category, do not install. There is no good reason a calculator needs SMS access.

The same logic applies whether the file is an APK, an XAPK (where we read the inner base APK), or an APKS bundle (where we read each split's manifest).

Doing It from the Command Line

If you prefer the terminal route, the Android SDK ships aapt2, which dumps a manifest from any APK in plain XML:

aapt2 dump badging example.apk | grep "uses-permission"

Or use apksigner to verify the signing certificate at the same time:

apksigner verify --print-certs example.apk

The browser tool does the same thing for users who would rather not install an SDK just to vet a single file.

Frequently Asked Questions (FAQ)

Can I deny a permission after installing an APK?

Yes. On Android 6.0 and higher, you can go to Settings > Apps > [App Name] > Permissions to toggle individual dangerous permissions on or off.

Do XAPK files have different permissions?

An XAPK contains one or more APKs. Each APK inside has its own manifest. Our tool will analyze the **Main APK** within the bundle to show you the relevant permissions.

Why does every app ask for "Network Access"?

Almost all apps need internet access for analytics, bug reporting, or advertisements. While it's common, it's also the way stolen data is sent to a hacker's server.

Conclusion

Transparency is the parent of security. By taking 10 seconds to view permissions online before you sideload an app, you build a "digital firewall" around your personal life. Stay informed, stay skeptical, and keep your Android device safe!