Overview
APK Extractor lets you download APK files from installed applications on Android devices. It automatically detects whether an app is a single APK or split APK, and handles XAPK compilation for split APKs.Application List
Viewing Installed Apps
Both web and CLI interfaces show installed applications:- Web Interface
- CLI
- Select a device from the sidebar
- Choose filter: User Apps, System Apps, or All Apps
- Wait for the app list to load
- Browse, search, or extract
Filter Types
User Apps
Apps installed by the user from Play Store or APK files (recommended for most use cases)
System Apps
Pre-installed system apps and services (often protected, may fail to extract)
All Apps
Both user and system apps (can be 200+ apps, slower loading)
System apps are usually read-only and protected. Extracting them may fail with “insufficient permissions” errors.
App Information
For each app, APK Extractor displays:- App Name: Real application name (e.g., “WhatsApp”), not just package ID
- Package ID: Java-style identifier (e.g.,
com.whatsapp) - Format:
APK(single file) orSplit APK(multiple files) - Size: Exact size in MB, calculated from device storage
App names are extracted using a 3-tier fallback:
nonLocalizedLabelfromdumpsys packagelabelfield from package metadata- Humanized package name (last segment, capitalized)
Batch Info Loading
The web interface uses batch info loading for performance:Searching Apps
Web Interface Search
Type in the search box to filter by:- Application name (case-insensitive)
- Package identifier
- Search
"chrome"→ finds “Chrome”, “Chrome Dev”, etc. - Search
"com.google"→ finds all Google packages - Search
"face"→ finds “Facebook”, “Facebook Messenger”, etc.
CLI “Search”
The CLI doesn’t have built-in search, but you can:- Use the paginated list (15 apps per page)
- Note the app number
- Jump directly to it by entering the number
Extracting Single APKs
Identifying Single APKs
Apps with “APK” format have one file and can be extracted directly:Extraction Process
Pull from device
The APK is downloaded using Web: Streams directly to browser download
CLI: Saves to chosen folder (default: Desktop)
adb pull:Web Interface Extraction
Implementation (server.js:406-443):CLI Extraction
For CLI users:Extracting Split APKs (XAPK)
What are Split APKs?
Modern Android apps often use App Bundles, which split the APK into multiple files:- base.apk - Core app logic
- split_config.arm64_v8a.apk - CPU architecture-specific code
- split_config.en.apk - English language resources
- split_config.xxhdpi.apk - Screen density resources
base.apk - you need all files.
XAPK format packages all split APKs into a single installable file with a
manifest.json describing the structure.Detecting Split APKs
APK Extractor shows “Split APK” format:XAPK Compilation
Extract all APKs
APK Extractor pulls all APK files from the device in parallel:Progress: “Extraído 3/5: split_config.en.apk”
Real-Time Progress (Web)
The web interface shows live progress using Server-Sent Events (SSE):CLI XAPK Compilation
The CLI shows detailed progress:Installing Extracted APKs
Single APK Installation
Transfer the.apk file to the target Android device and:
- File Manager: Open the APK file, tap Install
- ADB Install:
- Drag & Drop: In Android emulator
Enable “Install from unknown sources” in Android settings if installing APKs outside the Play Store.
XAPK Installation
XAPK files require a special installer:SAI
Split APKs Installer - Open source, recommended
APKPure
APKPure app includes XAPK Installer
APKMirror
APKMirror Installer app
- Install SAI (or another XAPK installer) on the target device
- Transfer the
.xapkfile - Open with the installer app
- Tap Install - the installer extracts and installs all APKs
Batch Extraction (Advanced)
While the UI focuses on one app at a time, you can script batch extraction via the API:Troubleshooting
Extraction fails: 'insufficient permissions'
Extraction fails: 'insufficient permissions'
The app is a protected system app. User-installed apps can always be extracted, but some system apps are protected.Solution: Only extract user apps, or try with root access (not officially supported).
APK won't install on target device
APK won't install on target device
Common causes:
- Different CPU architecture: Extract from ARM64 device, trying to install on ARM32
- Minimum SDK mismatch: App requires newer Android version
- Signature mismatch: If the app is already installed with a different signature
- Check target device compatibility
- Uninstall existing app first
- Use XAPK for split APKs (includes all architecture splits)
XAPK compilation fails midway
XAPK compilation fails midway
Possible causes:
- Device disconnected during extraction
- Insufficient disk space on PC
- ADB timeout (large app, slow connection)
- Keep device connected (use USB for stability)
- Free up disk space
- Increase timeout in
server.js(change120000ms to higher value in line 484)
Extracted APK is 0 bytes or corrupted
Extracted APK is 0 bytes or corrupted
The
adb pull command failed silently. Check:- Device still connected?
- Sufficient USB transfer speed?
- Try again - transient network/USB issue
Can't find the extracted APK (CLI)
Can't find the extracted APK (CLI)
The CLI saves to the folder you specified. If you pressed Enter without typing a path, it defaults to:Check your Desktop or the folder shown in the success message.
Web download doesn't start
Web download doesn't start
- Check browser download settings (may be blocked)
- Look for the download notification in your browser
- Check browser’s Downloads folder
- Try a different browser
Performance Tips
USB for Large Apps
Use USB connections for apps over 100 MB - WiFi is slower and less stable.
Filter User Apps
Loading “All Apps” (200+) is slower than “User Apps” (20-50). Use filters wisely.
Batch via API
For 10+ apps, write a script using the API for parallel extraction.
Close Other ADB Apps
Android Studio, Vysor, or other ADB tools can interfere. Close them during extraction.
Next Steps
XAPK Feature
Deep dive into XAPK compilation
App Extraction Feature
Technical details on extraction
API - Apps Endpoints
API reference for app endpoints
Device Management
Managing multiple devices
Wireless Debugging
Extract over WiFi
