1.3.0 • Published 4 months ago
node-adb-api v1.3.0
node-adb-api
A Node.js API wrapper for ADB (Android Debug Bridge)
Features
- 🔍 List connected devices
- 📱 Manage Android apps (launch, kill, clear data)
- 📦 Download APKs from devices
- 🔎 Fuzzy search packages
- ⚡ Fast and reliable
Installation
npm install node-adb-api
Usage
const adb = require('node-adb-api');
Device Management
// Get list of connected device serial numbers
const devices = adb.getListOfDevices();
// Check if a device is connected
const isConnected = adb.isAnyDeviceConnected('device_serial');
Package Management
// Get list of installed packages on a device
const packages = adb.getPackagesByDeviceSerialNumber('device_serial');
// Fuzzy search packages
const results = await adb.fuzzySearchPackages(null, 'chrome');
// Get APK path on device
const path = adb.getDeviceApkPath('device_serial', 'com.example.app');
// Download APK from device
const apkFile = adb.downloadAPK('device_serial', 'com.example.app');
App Control
// Launch an app
adb.launchApp('com.example.app', 'device_serial');
// Force kill an app
adb.forceKill('com.example.app', 'device_serial');
// Clear app data
adb.clearData('com.example.app', 'device_serial');
// Uninstall an app
adb.uninstall('com.example.app', 'device_serial');
API Reference
getListOfDevices()
Returns an array of connected device serial numbers.
isAnyDeviceConnected(deviceSerialNumber)
Checks if the specified device is connected.
deviceSerialNumber
: Device serial number to check
getPackagesByDeviceSerialNumber(deviceSerialNumber)
Returns an array of package names installed on the device.
deviceSerialNumber
: Target device serial number
fuzzySearchPackages(packages, textToFind)
Performs a fuzzy search on installed packages.
packages
: Optional array of packages to search intextToFind
: Search query string
getDeviceApkPath(deviceSerialNumber, chosenPackage)
Gets the path of an APK file on the device.
deviceSerialNumber
: Target device serial numberchosenPackage
: Package name to locate
downloadAPK(deviceSerialNumber, chosenPackage)
Downloads an APK file from the device.
deviceSerialNumber
: Target device serial numberchosenPackage
: Package name to download- Returns: The downloaded APK filename
launchApp(chosenPackage, selectedDevice)
Launches an app on the device.
chosenPackage
: Package name to launchselectedDevice
: Target device serial number
forceKill(chosenPackage, deviceSerialNumber)
Force stops an app on the device.
chosenPackage
: Package name to force stopdeviceSerialNumber
: Target device serial number
clearData(chosenPackage, deviceSerialNumber)
Clears app data on the device.
chosenPackage
: Package name to clear datadeviceSerialNumber
: Target device serial number
uninstall(chosenPackage, selectedDevice)
Uninstalls an app from the device.
chosenPackage
: Package name to uninstallselectedDevice
: Target device serial number
Development
# Install dependencies
npm install
# Run tests
npm test
# Run linting
npm run lint
Used in
purrge - 🐱 Quickly purrge android apps from your phone
License
MIT © Cesar Ferreira