{"id":21858094,"url":"https://github.com/cesarferreira/node-adb-api","last_synced_at":"2026-04-02T01:48:20.856Z","repository":{"id":44977823,"uuid":"107466919","full_name":"cesarferreira/node-adb-api","owner":"cesarferreira","description":"A node API for adb (android debug bridge)","archived":false,"fork":false,"pushed_at":"2025-01-30T15:50:25.000Z","size":232,"stargazers_count":13,"open_issues_count":4,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-28T07:21:49.514Z","etag":null,"topics":["adb","android","android-debug-bridge","node"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cesarferreira.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-10-18T21:48:52.000Z","updated_at":"2025-01-30T15:50:29.000Z","dependencies_parsed_at":"2025-01-30T16:23:55.787Z","dependency_job_id":"204f9ee4-862a-4417-946e-4abf54545518","html_url":"https://github.com/cesarferreira/node-adb-api","commit_stats":{"total_commits":19,"total_committers":2,"mean_commits":9.5,"dds":"0.21052631578947367","last_synced_commit":"94be179ed4c582aa239b70b73862ca2d3757db59"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cesarferreira%2Fnode-adb-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cesarferreira%2Fnode-adb-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cesarferreira%2Fnode-adb-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cesarferreira%2Fnode-adb-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cesarferreira","download_url":"https://codeload.github.com/cesarferreira/node-adb-api/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248942155,"owners_count":21186937,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["adb","android","android-debug-bridge","node"],"created_at":"2024-11-28T02:42:21.369Z","updated_at":"2026-04-02T01:48:20.828Z","avatar_url":"https://github.com/cesarferreira.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# node-adb-api\n\u003e A Node.js API wrapper for ADB (Android Debug Bridge)\n\n[![npm](https://img.shields.io/npm/dt/node-adb-api.svg)](https://www.npmjs.com/package/node-adb-api)\n[![npm](https://img.shields.io/npm/v/node-adb-api.svg)](https://www.npmjs.com/package/node-adb-api)\n\n## Features\n- 🔍 List connected devices\n- 📱 Manage Android apps (launch, kill, clear data)\n- 📦 Download APKs from devices\n- 🔎 Fuzzy search packages\n- ⚡ Fast and reliable\n\n## Installation\n\n```bash\nnpm install node-adb-api\n```\n\n## Usage\n\n```javascript\nconst adb = require('node-adb-api');\n```\n\n### Device Management\n```javascript\n// Get list of connected device serial numbers\nconst devices = adb.getListOfDevices();\n\n// Check if a device is connected\nconst isConnected = adb.isAnyDeviceConnected('device_serial');\n```\n\n### Package Management\n```javascript\n// Get list of installed packages on a device\nconst packages = adb.getPackagesByDeviceSerialNumber('device_serial');\n\n// Fuzzy search packages\nconst results = await adb.fuzzySearchPackages(null, 'chrome');\n\n// Get APK path on device\nconst path = adb.getDeviceApkPath('device_serial', 'com.example.app');\n\n// Download APK from device\nconst apkFile = adb.downloadAPK('device_serial', 'com.example.app');\n```\n\n### App Control\n```javascript\n// Launch an app\nadb.launchApp('com.example.app', 'device_serial');\n\n// Force kill an app\nadb.forceKill('com.example.app', 'device_serial');\n\n// Clear app data\nadb.clearData('com.example.app', 'device_serial');\n\n// Uninstall an app\nadb.uninstall('com.example.app', 'device_serial');\n```\n\n## API Reference\n\n### `getListOfDevices()`\nReturns an array of connected device serial numbers.\n\n### `isAnyDeviceConnected(deviceSerialNumber)`\nChecks if the specified device is connected.\n- `deviceSerialNumber`: Device serial number to check\n\n### `getPackagesByDeviceSerialNumber(deviceSerialNumber)`\nReturns an array of package names installed on the device.\n- `deviceSerialNumber`: Target device serial number\n\n### `fuzzySearchPackages(packages, textToFind)`\nPerforms a fuzzy search on installed packages.\n- `packages`: Optional array of packages to search in\n- `textToFind`: Search query string\n\n### `getDeviceApkPath(deviceSerialNumber, chosenPackage)`\nGets the path of an APK file on the device.\n- `deviceSerialNumber`: Target device serial number\n- `chosenPackage`: Package name to locate\n\n### `downloadAPK(deviceSerialNumber, chosenPackage)`\nDownloads an APK file from the device.\n- `deviceSerialNumber`: Target device serial number\n- `chosenPackage`: Package name to download\n- Returns: The downloaded APK filename\n\n### `launchApp(chosenPackage, selectedDevice)`\nLaunches an app on the device.\n- `chosenPackage`: Package name to launch\n- `selectedDevice`: Target device serial number\n\n### `forceKill(chosenPackage, deviceSerialNumber)`\nForce stops an app on the device.\n- `chosenPackage`: Package name to force stop\n- `deviceSerialNumber`: Target device serial number\n\n### `clearData(chosenPackage, deviceSerialNumber)`\nClears app data on the device.\n- `chosenPackage`: Package name to clear data\n- `deviceSerialNumber`: Target device serial number\n\n### `uninstall(chosenPackage, selectedDevice)`\nUninstalls an app from the device.\n- `chosenPackage`: Package name to uninstall\n- `selectedDevice`: Target device serial number\n\n## Development\n\n```bash\n# Install dependencies\nnpm install\n\n# Run tests\nnpm test\n\n# Run linting\nnpm run lint\n```\n\n## Used in\n[purrge](https://github.com/cesarferreira/purrge) - 🐱 Quickly purrge android apps from your phone\n\n## License\nMIT © [Cesar Ferreira](http://cesarferreira.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcesarferreira%2Fnode-adb-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcesarferreira%2Fnode-adb-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcesarferreira%2Fnode-adb-api/lists"}