@ibaraki-douji/android
v1.3.3
Published
Control your android device with ADB and NodeJS
Downloads
4
Maintainers
Readme
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