Skip to main content

The complete Android APK toolkit — build, reverse engineer, extract metadata, manage devices

Project description

APKDev

📱 The complete Android APK toolkit — build, reverse engineer, extract metadata, and manage devices.
One pip install and you have everything you need to work with APKs.

pip install apkdev

Features

29 commands covering the full APK lifecycle:

🏗️ Build

Command What it does
apkdev new MyApp Scaffold a Kotlin + Gradle project
apkdev build Compile APK via Gradle
apkdev sign app.apk Sign with debug key
apkdev optimize app.apk Zipalign + sign in one step

📲 Device (ADB)

Command What it does
apkdev install app.apk Install to device
apkdev uninstall com.example Remove app
apkdev pull com.example Pull APK from device
apkdev packages List installed packages
apkdev devices List connected devices

🔍 Reverse Engineering

Command What it does
apkdev decode app.apk Decompile to smali/resources (apktool)
apkdev rebuild dir/ Rebuild APK from decoded dir
apkdev decompile app.apk Decompile to Java source (jadx)
apkdev baksmali classes.dex Disassemble to smali
apkdev smali dir/ Assemble smali → dex
apkdev jar app.apk Convert DEX/APK to JAR
apkdev apkeditor ... APKEditor (merge/split/modify)

🔎 Inspection

Command What it does
apkdev inspect app.apk Full metadata (package, version, permissions, activities...)
apkdev manifest app.apk AndroidManifest.xml dump
apkdev permissions app.apk Permission list
apkdev strings app.apk Resource string pool
apkdev resources app.apk Resource table
apkdev cert app.apk Signing certificate info
apkdev ls app.apk List files inside APK
apkdev extract app.apk Extract APK contents
apkdev analyze app.apk Deep analysis (androguard + aapt2)

⚙️ System

Command What it does
apkdev info Show installed tool versions
apkdev doctor Check environment
apkdev setup Auto-install everything
apkdev completion Shell tab-completion

Requirements

  • Python 3.8+ is all you NEED
  • Java 17+ for building & RE (apkdev can install it)

Quick Start

# Install
pip install apkdev

# Without Java — these 6 commands work immediately:
apkdev ls someapp.apk          # List files inside APK
apkdev extract someapp.apk     # Extract APK to folder
apkdev new MyApp               # Create new project
apkdev info                    # Check installed tools
apkdev doctor                  # Check what's missing

# Install Java + everything else:
apkdev setup                   # Auto-installs Java, SDK, all tools

# With Java — full power:
apkdev build                   # Build APK
apkdev decode someapp.apk      # Decompile to smali
apkdev decompile someapp.apk   # Decompile to Java
apkdev inspect someapp.apk     # Full metadata

How Java Gets Installed

apkdev setup bootstraps Java via your platform's package manager:

Platform Method
Termux/Android pkg install openjdk-21
Linux (Debian) sudo apt-get install openjdk-21-jdk
Linux (Fedora) sudo dnf install java-21-openjdk-devel
Linux (Arch) sudo pacman -S jdk21-openjdk
macOS Installs Homebrew → brew install openjdk@21
Windows Installs Chocolatey → choco install openjdk21

If auto-install fails, it tells you exactly what to do.

Smart Abbreviations

All commands support unique prefixes:

apkdev n          → new
apkdev deco       → decode (ambiguous: decode/decompile → shows choices)
apkdev decom      → decompile
apkdev ins        → inspect
apkdev inf        → info
apkdev per        → permissions

Why APKDev?

  • Complete — 29 commands covering build, RE, inspection, device management
  • Zero compilation — pure Python, works anywhere Python runs
  • Beautiful output — rich tables, panels, syntax highlighting
  • Smart — auto-patches platform-specific issues (aapt2 on ARM)
  • 20KB wheel — tiny footprint

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

apkdev-2.0.0-py3-none-any.whl (36.2 kB view details)

Uploaded Python 3

File details

Details for the file apkdev-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: apkdev-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 36.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for apkdev-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 06251b2afe9e0c85c911e33f97944a70eaa98f67bcc320d297bb52bbc3234887
MD5 5895c782fcd18dcebea7811b71ce5bb6
BLAKE2b-256 a6288c2ceb7f5f74d66524eac0fe0336ad5908cefbcfa5445dd34e988355a181

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page