Overview
The web interface provides a modern, responsive UI for managing Android devices and extracting APKs. It runs as a local Express.js server on port 3000 with a system tray icon for easy access.Launching the Web Interface
Run the launcher
Double-click
start-web.bat in the APK Extractor directory.The launcher will:- Check for Node.js installation
- Install dependencies (
npm install) - Start the server invisibly in the background
- Create a system tray icon
- Open your default browser to
http://localhost:3000
The server continues running even if you close the browser tab. Use the system tray icon or the red “Apagar Servidor” button in the web UI to stop it.
Interface Overview
Main Layout
The web interface consists of three main areas:Device Sidebar
Lists all connected devices (USB and WiFi) with real-time updates
App List
Shows installed applications with search, filter, and sorting
Action Modals
Interactive dialogs for extraction, pairing, and settings
Device Sidebar
The left sidebar (or bottom bar on mobile) shows:- Connected devices with brand/model or custom name
- Device indicators: USB or WiFi icon
- Add device button for wireless debugging
- Real-time updates - devices appear/disappear automatically
The sidebar uses polling every 4 seconds to detect device changes without page refresh.
Application List
The main panel displays:- App name (real application name, not package)
- Package ID with copy button
- Format: APK or Split APK
- Size: Exact size in MB
- Action buttons: Extract APK or Compile XAPK
- Filter Options
- Search
- User Apps (default) - Apps installed by the user
- System Apps - Pre-installed system applications
- All Apps - Both user and system apps
Key Features
Real-Time Device Monitoring
Devices are monitored automatically:Polling interval adjusts based on tab visibility: 2 seconds when active, 8 seconds when inactive to save resources.
Batch Info Loading
When you switch devices or filters, the app list loads instantly from cache, then fetches detailed info (format, size, names) in the background:Intelligent Caching
The server caches:- ADB path - Loaded once at startup
- Device info - Brand, model, Android version
- App lists - Per device and filter type
- Saved devices and device names
Dark/Light Theme
Toggle between themes using the theme switcher:- Light mode: Clean white background with gray accents
- Dark mode: Dark gray background with vibrant highlights
Light Theme
Professional appearance with high contrast for readability
Dark Theme
Eye-friendly for nighttime use with glassmorphism effects
Console Viewer
Click the console icon (bottom-right corner) to view:- Server logs in real-time
- ADB command output
- Error messages and warnings
- Connection events (device connected/disconnected)
/api/logs/stream.
The console viewer is perfect for troubleshooting connection issues without needing a command prompt window.
Responsive Design
The interface adapts to different screen sizes:- Desktop
- Tablet
- Mobile
- Sidebar on the left
- Full modals with backdrop blur
- Hover effects and tooltips
Performance
The web interface is optimized for speed:Asynchronous Operations
All ADB commands run asynchronously usingPromise.all() for parallel execution:
Batch Processing
When loading 200+ apps, the server processes them all in parallel:System Tray Integration
Thesystray2 module creates a native Windows tray icon:
- Quick access to reopen the browser
- Easy server shutdown without finding the console window
- Visual indicator that the server is running
Shutting Down
Three ways to stop the server:- System Tray
- API Call
- Send shutdown confirmation
- Kill the system tray process
- Exit after 1 second
Troubleshooting
Browser doesn't open automatically
Browser doesn't open automatically
Manually navigate to
http://localhost:3000 in any browser.Port 3000 already in use
Port 3000 already in use
Another application is using port 3000. Either:
- Stop the other application
- Edit
server.jsto changeconst PORT = 3000;to another port
System tray icon missing
System tray icon missing
The
systray2 module may have failed. The server still works - just access via browser. Check the console for errors.Devices not appearing
Devices not appearing
- Check USB cable connection
- Enable USB debugging on the Android device
- Authorize the PC on the device screen
- Check ADB setup: visit
http://localhost:3000/api/status
App details showing 'Loading...'
App details showing 'Loading...'
The batch info request is in progress. Wait a few seconds. If it persists:
- The device may have disconnected
- ADB may be unresponsive - try reconnecting the device
- Check the console viewer for error messages
Next Steps
Extract APKs
Learn how to extract and download APK files
Wireless Debugging
Connect devices without USB cables
Device Management
Manage multiple devices and custom names
API Reference
Integrate with the REST API
