explaingit

ibotpeaches/apktool

📈 Trending24,551JavaAudience · developerComplexity · 3/5ActiveLicenseSetup · easy

TLDR

Reverse engineering tool that extracts and decodes Android APK files into human-readable code and resources, letting you inspect or modify apps.

Mindmap

mindmap
  root((repo))
    What it does
      Decode APK files
      Extract resources
      Convert to Smali
      Repackage APKs
    Use cases
      Translate apps
      Security research
      Debug applications
      Adapt to platforms
    Tech stack
      Java
    Audience
      Security researchers
      App developers
      Reverse engineers

Things people build with this

USE CASE 1

Translate an Android app into another language by modifying its resource strings.

USE CASE 2

Investigate how a closed-source app works for security research or vulnerability testing.

USE CASE 3

Modify an APK's layout files or images to adapt an app for a custom Android platform.

USE CASE 4

Debug an app's behavior by examining its bytecode and resources without access to source code.

Tech stack

Java

Getting it running

Difficulty · easy Time to first run · 5min
Apache License 2.0, use freely for any purpose, including commercial, as long as you include the license notice and state any changes made.

In plain English

Apktool is a reverse engineering tool for Android APK files. An APK (Android Package) is the file format used to distribute and install Android apps, essentially a compressed archive containing the app's code, resources, and configuration. Apktool lets you take a compiled APK and extract its contents back into a human-readable form. Specifically, it decodes the app's resources (images, layout files, strings) and converts the compiled bytecode back into a readable intermediate format called Smali, which is close to the underlying Android bytecode. Once decoded, you can inspect or modify the app, then repackage it into a new APK. Common legitimate uses include translating apps into other languages, investigating how an app behaves for security research, adapting apps to work on custom platforms, or debugging applications. The project explicitly states it is not intended for piracy or other illegal uses. You would use Apktool when you need to examine the internals of an Android app you do not have the source code for, or when you want to modify resources like strings and images in an existing APK. The tech stack is Java.

Copy-paste prompts

Prompt 1
How do I use Apktool to decode an APK file and view its Smali code and resources?
Prompt 2
Show me how to modify strings in an APK using Apktool and repackage it into a new APK.
Prompt 3
What's the difference between Smali and Java bytecode, and why does Apktool use Smali?
Prompt 4
How can I use Apktool to extract and modify an Android app's layout files and images?
Prompt 5
Walk me through the steps to decompile an APK, make changes, and rebuild it with Apktool.
Open on GitHub → Explain another repo

Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.