Skip to main content
This guide will walk you through installing APK Extractor and setting up all required dependencies.

System Requirements

Operating System

Windows 10 or Windows 11

Node.js

Version 16 or higher (only for web interface)

Android Device

USB debugging enabled

ADB

Auto-downloaded if not present
The CLI (apk-downloader.bat) works without Node.js. Only the web interface requires Node.js.

Installation Steps

1

Install Node.js (for Web Interface)

If you plan to use the web interface, install Node.js first.
  1. Download Node.js from nodejs.org
  2. Choose the LTS (Long Term Support) version
  3. Run the installer and follow the installation wizard
  4. Verify installation by opening Command Prompt and running:
node --version
npm --version
If you only want to use the CLI, you can skip this step entirely.
2

Download APK Extractor

Clone or download the APK Extractor repository to your computer.Option 1: Using Git
git clone <repository-url>
cd apk-extractor
Option 2: Download ZIP
  1. Download the repository as a ZIP file
  2. Extract to a folder of your choice (e.g., C:\apk-extractor)
  3. Navigate to the extracted folder
3

Enable USB Debugging on Your Android Device

Before connecting your device, enable USB debugging:
  1. Enable Developer Options:
    • Go to SettingsAbout phone
    • Tap Build number 7 times until you see “You are now a developer!”
  2. Enable USB Debugging:
    • Go to SettingsDeveloper options
    • Enable USB debugging
  3. Connect Your Device:
    • Connect your Android device to your PC via USB cable
    • When prompted on your device, tap Allow to authorize USB debugging
Always authorize your computer when the “Allow USB debugging?” prompt appears on your device.
4

Set Up ADB

APK Extractor requires ADB (Android Debug Bridge) to communicate with devices. You have two options:When you first launch APK Extractor (either start-web.bat or apk-downloader.bat), it will automatically check for ADB:
  1. If ADB is not found, you’ll see a setup menu
  2. Choose Option 2: “Download ADB now”
  3. The tool will download Android Platform Tools from Google
  4. ADB will be installed to C:\platform-tools\adb.exe
  5. The path is automatically saved to config.txt

Option 2: Use Existing ADB

If you already have ADB installed (e.g., from Android SDK):
  1. When prompted, choose Option 1: “Enter the path where I have ADB installed”
  2. Provide the full path to adb.exe, for example:
    C:\Users\YourName\AppData\Local\Android\Sdk\platform-tools\adb.exe
    
  3. The path is saved to config.txt for future use

Verify ADB Installation

Open Command Prompt and run:
adb version
You should see output similar to:
Android Debug Bridge version 1.0.41
5

Launch APK Extractor

Choose which interface you want to use:Double-click start-web.bat or run from Command Prompt:
start-web.bat
This script will:
  1. Verify Node.js is installed
  2. Install dependencies automatically (npm install and optional libraries like systray2)
  3. Start the Express server invisibly in the background using VBScript
  4. Create a system tray icon (near the Windows clock) for easy access
  5. Open your default web browser to http://localhost:3000
If you close the browser tab, the server continues running. Use the system tray icon to:
  • Reopen the web interface
  • Shut down the server completely

Command-Line Interface

Double-click apk-downloader.bat or run from Command Prompt:
apk-downloader.bat
This launches the interactive CLI with:
  • Color-coded menus and output
  • Device management options
  • Application browsing and extraction
  • No Node.js required

File Structure

After installation, your APK Extractor directory will contain:
apk-extractor/
├── server.js              # Express API server (web interface backend)
├── public/
│   ├── index.html         # Web interface structure
│   ├── app.js             # Frontend logic (devices, apps, modals)
│   └── style.css          # Styles (light/dark themes, components)
├── apk-downloader.bat     # CLI implementation
├── start-web.bat          # Web interface launcher
├── config.txt             # Saved ADB path (created on first run)
├── devices.json           # Saved WiFi devices (created when devices are saved)
├── device-names.json      # Custom device names (created when devices are renamed)
└── package.json           # Node.js dependencies

Configuration Files

Stores the path to adb.exe. This file is created automatically when you configure ADB for the first time.Example content:
C:\platform-tools\adb.exe
To change your ADB path, either:
  • Delete this file and restart APK Extractor
  • Use the “Change ADB path” option in the main menu (CLI)
  • Use the configuration API endpoint (web)
Stores WiFi devices for quick reconnection. Created automatically when you pair a device via wireless debugging.Format:
[
  {
    "id": "1234567890",
    "label": "Samsung Galaxy S21",
    "ip": "192.168.1.100",
    "port": "37891",
    "lastConnected": "2026-03-07T10:30:00.000Z"
  }
]
This file is shared between the web interface and CLI.
Stores custom names assigned to devices by their serial number.Format:
{
  "ABC123DEF456": "My Phone",
  "192.168.1.100:37891": "Work Tablet"
}
Custom names are displayed in both interfaces and persist across sessions.

Wireless Debugging Setup (Optional)

Wireless debugging requires Android 11 or higher.
To connect devices over WiFi instead of USB:
1

Enable Wireless Debugging on Android

  1. Go to SettingsDeveloper options
  2. Enable Wireless debugging
  3. Tap Wireless debugging to open the settings
2

Pair the Device

  1. In APK Extractor, choose Wireless Debugging from the main menu
  2. On your Android device, tap Pair device with pairing code
  3. Note the IP address, Port, and 6-digit pairing code
  4. Enter these values in APK Extractor when prompted
  5. Wait for “Pairing successful” message
3

Connect to the Device

  1. On your Android device, find the IP address & Port shown in the Wireless debugging screen (not the pairing port)
  2. Enter the connection port when prompted
  3. The device will be saved automatically for future use
Wireless debugging ports change after each reboot. If connection fails, use the rebinding wizard in the “Saved Devices” menu.

Troubleshooting

Symptoms: “No devices connected” messageSolutions:
  • Ensure USB debugging is enabled on your device
  • Check that your USB cable supports data transfer (not just charging)
  • Try a different USB port on your computer
  • Disconnect and reconnect the device
  • On your device, revoke USB debugging authorizations and reconnect
  • Run adb devices in Command Prompt to verify device detection
Symptoms: Error when running start-web.batSolutions:
  • Install Node.js from nodejs.org
  • Restart Command Prompt after installation
  • Verify installation with node --version
  • Alternatively, use the CLI (apk-downloader.bat) which doesn’t require Node.js
Symptoms: “EADDRINUSE” error when starting web interfaceSolutions:
  • Close any existing APK Extractor web server instances
  • Check system tray for running APK Extractor icon
  • Kill the process using port 3000:
    netstat -ano | findstr :3000
    taskkill /PID <process_id> /F
    
  • Or modify server.js:9 to use a different port
Symptoms: “Error connecting” message for WiFi devicesSolutions:
  • Ensure both PC and Android device are on the same WiFi network
  • Disable any VPN connections
  • Check that your firewall allows ADB connections
  • Try disabling and re-enabling wireless debugging on the device
  • Ports expire after reboot - use the rebinding wizard in Saved Devices menu

Next Steps

Quick Start Guide

Now that APK Extractor is installed, learn how to extract your first APK

Build docs developers (and LLMs) love