Socket
Socket
Sign inDemoInstall

@ibaraki-douji/android

Package Overview
Dependencies
7
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @ibaraki-douji/android

Control your android device with ADB and NodeJS


Version published
Weekly downloads
8
increased by300%
Maintainers
1
Created
Weekly downloads
 

Readme

Source

Android Controller

Control your Android device with ADB

Getting started

npm i @ibaraki-douji/android --save

Configure your phone to the ADB. USB debug : adb usb Wifi debug : adb tcpip 5555 && adb connect <device IP>

Usage

Import the lib

const Controller = require('@ibaraki-douji/android')

Get all linked devices

const Controller = require('@ibaraki-douji/android')

Contoller.listDevices('<adb path>').then(console.log)

Start controlling a device

const Controller = require('@ibaraki-douji/android')

const android = new Controller({
    adb: "<adb path>",
    transport: <transport_ID>
});

Get Screen size

const Controller = require('@ibaraki-douji/android')
const android = new Controller();

android.getScreenSize().then(console.log)

Touch screen

const Controller = require('@ibaraki-douji/android')
const android = new Controller();

android.touchScreen(x, y, "px" || "%");

Swipe screen

const Controller = require('@ibaraki-douji/android')
const android = new Controller();

android.swipe(fromX, fromY, toX, toY, timeMS, "px" || "%");

Write text

const Controller = require('@ibaraki-douji/android')
const android = new Controller();

android.writeText("<some input text>");

Execute key event

const Controller = require('@ibaraki-douji/android')
const android = new Controller();

android.tapKey(key);

Keys code : https://developer.android.com/reference/android/view/KeyEvent or https://stackoverflow.com/a/8483797

Get installed packages

const Controller = require('@ibaraki-douji/android')
const android = new Controller();

// ALL
android.getAllPackages().then(console.log);

// INSTALLED APPS
android.getAll3rdPartyPackages().then(console.log);

// SYSTEM APPS
android.getAllSystemPackages().then(console.log);

Install app

const Controller = require('@ibaraki-douji/android')
const android = new Controller();

android.installAPK('<APK path>');

Open app

const Controller = require('@ibaraki-douji/android')
const android = new Controller();

android.startApp('<package name>');

Take a screenshot

const Controller = require('@ibaraki-douji/android');
const fs = require('fs');
const android = new Controller();

android.screen().then(buffer => {
    fs.writeFileSync("./screenshot.png", buffer)
})

Android shell

const Controller = require('@ibaraki-douji/android');
const android = new Controller();

android.shell('<command>').then(console.log)

Push file

const Controller = require('@ibaraki-douji/android');
const android = new Controller();

android.push('<source file>', '<dest folder>')

Pull file

const Controller = require('@ibaraki-douji/android');
const android = new Controller();

android.pull('<source file>', '<dest folder>')

Exemple

const fs = require('fs');
const Controller = require('@ibaraki-douji/android');
const android = new Controller({
    adb: "C:/Users/Ibaraki/AppData/Local/Android/Sdk/platform-tools/adb.exe"
});

// MAKE A ASYNC FUNCTION AT START
(async () => {
   await android.startApp('com.google.android.play.games');
   setTimeout(async () => {
        const buffer = await android.screen();
        fs.writeFileSync('./GPlay.png', buffer);
   }, 1000);
})()

More Help and Support

Discord : https://discord.gg/mD9c4zP4Er

Ask me for an update or to fix a bug in the Discord server

Keywords

FAQs

Last updated on 10 Sep 2021

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc