1.3.3 • Published 3 years ago

@ibaraki-douji/android v1.3.3

Weekly downloads
-
License
ISC
Repository
-
Last release
3 years ago

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

1.3.3

3 years ago

1.3.2

3 years ago

1.3.1

3 years ago

1.3.0

3 years ago

1.2.1

3 years ago

1.2.0

3 years ago

1.1.0

3 years ago

1.0.0

3 years ago