Utilities
Decode an APK manifest into readable XML
androguard-manifest is an offline Android manifest decoding adapter using Androguard AXML.
overview
What androguard-manifest does
Decode the binary AndroidManifest.xml in one APK into readable XML. Inspect declarations such as the package identifier and permissions without installing or running the application.
A file containing native Androguard XML. The adapter requires a manifest root with a package attribute and rejects a missing result or output above 4 MiB.
The current adapter checks ZIP file size up to 20 MiB, entry count up to 2000 and a declared expanded total up to 64 MiB. It rejects repeated raw paths, absolute paths, parent traversal and symlink entries. Normalized path aliases and inconsistent archive metadata remain under targeted review. Native execution has a 90-second timeout; output-size checks occur after the native process finishes and do not establish peak memory or temporary-disk containment.
Packaged upstream version: 4.1.4. The native CLI is Apache-2.0; the custom first-party adapter has separate proprietary licensing. The source/notices download includes the adapter, recipe, applicable dependency locks, pinned upstream references and installed notices.
source github.com/androguard/androguard/tree/d594fd39beb934e438a5bf8089b206d5800d81e0
use cases
Where androguard-manifest fits
Read package metadata
Inspect the package identifier declared in an owned APK.
Review declared permissions
Read permission declarations as input to a separate static review.
Inspect component declarations
Retain readable manifest XML for comparison; declarations alone do not establish runtime exposure.
reference
androguard-manifest inputs and flags
| Name | Type | Flag | Description |
|---|---|---|---|
| apk | FILE | --apk | Local APK ZIP file: at most 20 MiB, 2000 entries and 64 MiB declared expanded. Must contain AndroidManifest.xml. |
Showing key inputs. androguard-manifest exposes 1 inputs in total.
example
Run androguard-manifest
python3 /app/run.py --apk ./owned-demo.apk ./output <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="28"/>
<application android:label="@7F020000" android:hasCode="true"/>guidance
Choosing androguard-manifest
Use this operation when manifest XML is enough. Choose Apktool for the wider smali/resources tree or JADX for reconstructed Java. This operation does not expose interactive analysis, callgraphs or APKiD compiler detection.
faq
androguard-manifest questions
related
More Utilities tools
browser-fetch
Headless Chromium render: requested URL, final URL, status, and title next to the page.
cewl
Spider a URL and return a wordlist for password crackers.
csvkit
SQL on one CSV. The table name is the file stem.
dnsgen
Wordlist and mined-word subdomain permutation.
duckdb
In-process SQL on CSV, JSON, and Parquet. No server.
edge-tts
Microsoft Edge neural speech from text or a script file. No API key.
Run androguard-manifest yourself
Exact two-line excerpt from native manifest XML; root and namespace line omitted, so this is not a complete XML document downloaded from an actual private fixture-tool-verifier workflow. All three nodes succeeded and the downloaded native artifact matched the verifier and local native fixture hash. Separate local malformed-input tests produced native failure and adapter exit 2; invalid ZIP input was rejected before native parsing. The public Library entry retains the same tested tool ID.
Facts on this page come from the live Trickest tool library.