Use adb from node
Requirements
- ADB
Install
npm install --save adbjs
Build
git clone https://github.com/Urucas/adbjs.gitnpm run build
Usage
let adb = // Getting adb versionlet version = adbversionconsole// Android Debug Bridge version 1.0.32 // Getting deviceslet devices = adbconsole// [ '07042e0e13cca2d0' ] let deviceInfo = adbconsole// { id: '07042e0e13cca2d0', model: 'Nexus 5', version: '5.1.1' } // select deviceadb // check if device is availablelet isAvailable = adbconsole// true // list installed packageslet packages = adb/* * [ 'com.skype.raider', * 'com.google.android.youtube', * 'com.android.providers.telephony', * 'com.google.android.gallery3d', * ... * 'com.google.android.inputmethod.latin' ]*/ // check if a package is installedlet isInstalled = adbconsole// false // check if package is currently runninglet isRunning = adbconsole// true // close a application runningadb // install a packageadb // get wlan0 iplet ip = adbconsole// 192.168.0.105 // connect a device via tcpiplet conn = adbconsole// 192.168.0.105:5555 // disconnect deviceadb // lock deviceadb // unlock deviceadb // get information about the power displaylet power = adbconsole// { display_power: 'ON', "battery_level": 93 }
Monitor
Using adbjs to monitor a device changes
let monitor = adb.monitor()// emits an event on battery changemonitor.on("battery", (power) => {// { display_power: 'ON', "battery_level": 93 }// { display_power: 'ON', "battery_level": 92 }// you may integrate this monitor to slack,// so if battery is to low send a notification// { display_power: 'ON', "battery_level": 5 }})// emits an event on display changes [ON|OFF]monitor.on("display", (power) => {// { display_power: 'ON', "battery_level": 93 }// { display_power: 'OFF', "battery_level": 93 }})