UNPKG

adb-screencap

Version:

Take Android screenshots from node

58 lines (47 loc) 1.6 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = cmd; var _child_process = require('child_process'); var _child_process2 = _interopRequireDefault(_child_process); var _path = require('path'); var _path2 = _interopRequireDefault(_path); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var spawn = _child_process2.default.spawn; function exec(cmd, params, cb) { var s = spawn(cmd, params); s.on("close", cb); } function setParams(cmdParams, device) { if (!device) return cmdParams; var params = ["-s", device]; cmdParams.map(function (param) { params.push(param); }); return params; } var screencap = { cmd: function cmd(cb, device) { var cmd = "adb"; var time = new Date().getTime(); // TODO - change sdcard with data on some devices var screen_name = 'screen' + time + '.png'; var screen_path = '/sdcard/' + screen_name; var home = process.env.HOME || process.env.USERPROFILE; var desktop_path = _path2.default.join(home, 'Desktop'); var params = setParams(["shell", "screencap", "-p", screen_path], device); exec(cmd, params, function (code) { params = setParams(["pull", screen_path, desktop_path], device); exec(cmd, params, function (code) { params = setParams(["shell", "rm", screen_path], device); exec(cmd, params, function () { if (cb != null) cb(null, _path2.default.join(desktop_path, screen_name)); }); }); }); } }; function cmd(cb, device) { screencap.cmd(cb, device); }