Aapt
Android Asset Packaging Tool
Install / Use
/learn @johnsonlee/AaptREADME
Overview
AAPT is a Java library for Android assets manipulation, it supports read and write resource files. It also provides command line tools.
Getting Started
Using command line
-
Dump Resource Table
$ java -jar ./target/aapt-0.0.1-SNAPSHOT-jar-with-dependencies.jar dump resources resources.arsc -
Dump String Pool
$ java -jar ./target/aapt-0.0.1-SNAPSHOT-jar-with-dependencies.jar dump strings resources.arsc -
Dump XML
$ java -jar ./target/aapt-0.0.1-SNAPSHOT-jar-with-dependencies.jar dump xml AndroidManifest.xml
Using library
-
Dump Resource Table
ChunkParser parser = new ChunkParser();
parser.parse("resources.arsc").accept(new ResourceTableVisitor(System.out, true));
```
-
Dump String Pool
ChunkParser parser = new ChunkParser();
parser.parse("resources.arsc").accept(new StringPoolVisitor(System.out, true)); ```
-
Dump XML
ChunkParser parser = new ChunkParser();
parser.parse("AndroidManifest.xml").accept(new XmlVisitor(System.out, true)); ```
-
Write Resource Table
ChunkParser parser = new ChunkParser(); ResourceTable arsc = parser.parse("resources.arsc"); arsc.purge(0, 1, 2, 3, 4, 5); // retain the specified index of strings ChunkOutputStream cos = new ChunkOutputStream(new FileOutputStream("resources.arsc.bak")); cos.write(arsc); cos.close(); -
Parse & Generate Resource Symbols
SymbolParser parser = new SymbolParser(); Symbols symbols = parser.parse("R.txt"); Aapt.generateR("R.java", "com.example", symbols); -
Inspect APK
ApkFile apk = new ApkFile("app.apk"); Dex main = apk.getMainDex(); Iterable<Dex> dexes = apk.dexes(); Iterable<String> classes = apk.classes(); Xml manifest = apk.getAndroidManifest(); ResourceTable table = apk.getResourceTable();
Download
AAPT library is available on Maven Central Repository
Maven
<dependency>
<groupId>com.sdklite</groupId>
<artifactId>aapt</artifactId>
<version>0.0.1</version>
</dependency>
Gradle
compile 'com.sdklite:aapt:0.0.1'
API Doc
Please see http://aapt.sdklite.com.
Related Skills
node-connect
342.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
84.7kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
342.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
84.7kCommit, push, and open a PR
