Prerequisites
Before you begin, ensure you have:
- APK Extractor installed (see Installation)
- ADB configured (automatic or manual setup)
- Android device with USB debugging enabled
- Device connected via USB cable
Using the Web Interface
The web interface provides the most user-friendly experience with real-time updates and visual feedback.Launch the Web Interface
Double-click The script will:
start-web.bat or run from Command Prompt:- Install dependencies if needed
- Start the server in the background
- Create a system tray icon
- Open your browser to
http://localhost:3000
Look for the APK Extractor icon in your system tray (near the Windows clock). Right-click it to reopen the interface or shut down the server.
Select Your Device
Once the interface loads, you’ll see the device management screen.Don’t see your device?
- Your connected device should appear automatically in the device list
- The interface shows:
- Device brand and model (e.g., “Samsung Galaxy S21”)
- Serial number or IP:port for wireless devices
- Connection status
- Click on your device to select it
The web interface polls for device changes every 4 seconds when active, automatically detecting connections and disconnections.
- Check that USB debugging is enabled
- Ensure the device is properly connected
- Authorize the computer on your device if prompted
- Try the “Refresh” button or reconnect the cable
Browse Installed Applications
After selecting your device, you’ll see the application list.Filter applications:
- User Apps (default) - Apps you installed from app stores
- System Apps - Pre-installed system applications
- All Apps - Everything on the device
- Use the search box to filter by app name or package name
- Results update instantly as you type
- App name - Real application name (e.g., “WhatsApp”)
- Package name - Java package identifier (e.g.,
com.whatsapp) - Format - APK (single file) or Split APK (multiple files)
- Size - Total size in MB or KB
The first time you view the list, format and size information loads asynchronously in the background. You’ll see a progress indicator showing “Loading details (X / Y apps)”.
Extract an APK
Click on any application to view details and extraction options.
For Standard APK (Single File)
- Click the app you want to extract
- Review the app details:
- Version name and code
- Installation date
- APK file path on device
- Size and format
- Click “Extract APK”
- The APK downloads directly to your browser’s download folder
- File is named
<package-name>.apk
For Split APK / XAPK (Multiple Files)
Modern apps often use Split APK format (separate files for different architectures, languages, etc.).- Click the app you want to extract
- You’ll see a message: “Split APK detected - X files”
- The interface lists all APK file paths on the device
- Click “Compile XAPK”
- Watch the real-time progress:
- Extracting APK files from device
- Creating manifest.json
- Packaging into XAPK
- The
.xapkfile downloads automatically when complete
- SAI (Split APKs Installer)
- APKPure App
- APKMirror Installer
Using the Command-Line Interface
The CLI provides a powerful terminal-based interface with no Node.js requirement.Launch the CLI
Double-click The CLI will:
apk-downloader.bat or run from Command Prompt:- Check for ADB configuration
- Display the main menu with color-coded options
- Show the current ADB path
The CLI supports full ANSI color output on Windows 10+ for enhanced readability (cyan, green, yellow, red).
List Connected Devices
From the main menu:Enter the number of your device and press Enter.
- Press
1to select “List connected devices” - The tool searches for all connected devices (USB and WiFi)
- You’ll see a numbered list of devices with:
- Serial number or IP:port
- Custom name (if assigned)
- Device brand and model
Browse Applications
After selecting a device, you’ll see the device menu showing:Applications are displayed in a paginated table (15 per page):Navigation:
- Device serial
- Brand and model
- Android version and API level
- Press
1to select “List installed applications” - Choose application type:
1- User apps only (recommended)2- All apps (including system)
- The CLI loads all applications and calculates exact sizes using
du -b
Format and size detection may take 10-30 seconds depending on the number of apps. System apps typically take longer to process.
- Enter a number to view app details
- Press
Afor previous page - Press
Sfor next page - Press
0to return
Extract an APK or XAPK
Enter the number of the app you want to extract.
For Standard APK
The CLI shows app details:- Press
1to extract - Enter destination folder or press Enter for Desktop:
- The APK is copied from device to your PC
- Success message shows the file path
- The destination folder opens automatically
For Split APK / XAPK
The CLI detects multiple APK files:- Press
1to compile XAPK - Enter destination folder or press Enter for Desktop
- The CLI performs three steps:
- Step 1/3: Extracting APKs from device (with progress)
- Step 2/3: Creating manifest.json with version info
- Step 3/3: Packaging into XAPK using PowerShell compression
- Success message shows the
.xapkfile path - Installation instructions are displayed
Advanced Features
Custom Device Names
Custom Device Names
Assign friendly names to your devices for easier identification.Web Interface:
- Click the device settings icon
- Enter a custom name (e.g., “My Phone”, “Work Tablet”)
- Name is saved instantly
- From the device menu, press
2(“Assign name to device”) - Enter the new name or leave empty to remove
- Name is stored in
device-names.json
Wireless Debugging
Wireless Debugging
Connect to devices over WiFi (Android 11+).Pairing Process:
Pair in APK Extractor
- Web: Click “Connect WiFi Device” → Enter IP, pairing port, and 6-digit code
- CLI: Main menu → Option 2 → Enter IP, pairing port, and code
Batch Operations (Web Only)
Batch Operations (Web Only)
The web interface supports efficient batch operations using the REST API.Batch Info Endpoint:Response includes format, size, and app name for all packages, processed in parallel.See server.js:350-402 for implementation details.
Remote Connection via Tailscale (Optional)
Remote Connection via Tailscale (Optional)
Connect to devices over the internet using Tailscale VPN.Setup:
- Install Tailscale on both PC and Android device
- Sign in with the same account on both devices
- Enable wireless debugging on Android
- Use the device’s Tailscale IP (100.x.y.z) when pairing in APK Extractor
Common Tasks
Copy Package Name
Web: Click the copy icon next to any package nameCLI: Package names are shown in the app list - copy manually from terminal
View Server Logs
Web: Click the console icon in the corner to open the integrated log viewerCLI: All output is shown directly in the terminal with color coding
Reconnect Saved WiFi Device
Web: Click “Saved Devices” → Select device → Click “Connect”CLI: Main menu → Option 3 → Press C → Enter device number
Shut Down Web Server
System Tray: Right-click APK Extractor icon → “Shut Down Server”Web Interface: Click the red “Shut Down Server” buttonManual: Find process on port 3000 and kill it
Troubleshooting
App extraction fails with 'Permission denied'
App extraction fails with 'Permission denied'
Cause: Some system apps or protected apps cannot be extracted without root access.Solution:
- Only extract user-installed apps (filter: “User apps only”)
- System apps may require root permissions
- Try a different app to verify ADB is working correctly
XAPK compilation fails at compression step
XAPK compilation fails at compression step
Cause: PowerShell compression error or insufficient disk space.Solution:
- Ensure you have enough disk space in
%TEMP%and destination folder - Run PowerShell as administrator
- Check that all APK files were extracted successfully (see progress output)
- Try compiling to a different destination folder
Device disconnects frequently
Device disconnects frequently
USB devices:
- Use a high-quality data cable
- Try a different USB port (preferably USB 3.0)
- Disable USB selective suspend in Windows power settings
- Keep device screen on during extraction
- Disable battery optimization for wireless debugging
- Ensure stable WiFi connection on both PC and device
App names show as package names
App names show as package names
Cause: The app’s label could not be retrieved from
dumpsys package.Behavior:- APK Extractor attempts to extract the real name from
nonLocalizedLabelorlabelfields - If unavailable, it formats the package name (e.g.,
com.example.app→ “App”) - This is normal for some system apps or apps without proper metadata
Next Steps
Now that you’ve extracted your first APK, explore more advanced features:API Reference
Explore the REST API endpoints for custom integrations
CLI Commands
Learn all available CLI commands and options
