Code Monkey home page Code Monkey logo

adbjs's Introduction

[DEPRECATED] adbjs Build Status

Use adb from node.

I deprecated the library, I change to appium-adb since it's already advanced in the features implemented

#Requirements

  • ADB

#Install

npm install --save adbjs

#Build

git clone https://github.com/Urucas/adbjs.git
npm run build

#Usage

import ADB from 'adbjs'
let adb = new ADB()

// Getting adb version
let version = adb.version()
console.log(version)
// Android Debug Bridge version 1.0.32

// Getting devices
let devices = adb.devices()
console.log(devices)
// [ '07042e0e13cca2d0' ]

let deviceInfo = adb.deviceInfo(devices[0])
console.log(deviceInfo)
// { id: '07042e0e13cca2d0', model: 'Nexus 5', version: '5.1.1' }

// select device
adb.selectDevice(devices[0])

// check if device is available
let isAvailable = adb.isDeviceAvailable('07042e0e13cca2d0')
console.log(isAvailable)
// true

// list installed packages
let packages = adb.listPackages()
/* 
 * [ '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 installed
let isInstalled = adb.isPackageInstalled("com.urucas.zoster_testpp")
console.log(isInstalled)
// false

// check if package is currently running
let isRunning = adb.isAppRunning("com.google.android.youtube")
console.log(isRunning)
// true 

// close a application running
adb.closeApp("com.google.android.youtube")

// install a package
adb.install("/path/to/my/zoster_testapp.apk", "com.urucas.zoster_testapp")

// get wlan0 ip
let ip = adb.getDeviceWlan0()
console.log(ip)
// 192.168.0.105

// connect a device via tcpip
let conn = adb.tcpConnect()
console.log(conn)
// 192.168.0.105:5555

// disconnect device
adb.tcpDisconnect(conn)

// lock device
adb.lock()

// unlock device
adb.unlock()

// get information about the power display
let power = adb.power()
console.log(power)
// { display_power: 'ON', "battery_level": 93 }

Monitor

Using adbjs to monitor a device changes

let monitor = adb.monitor()
// emits an event on battery change
monitor.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 }
})

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.