//////////////////////////////////////////////////////////////////////// // LDPlayer API /////////////////////////////////////////////////////////////////////// var SHELL = require("lib/shell"); var SYS = require("lib/system"); exports.VERSIONINFO = "NoxPlayer (noxplayer.js) version 0.1"; exports.global = global; exports.require = global.require; exports.binPath = SYS.getEnvString("PROGRAMFILES(X86)") + "/Nox/bin/nox_adb.exe"; exports.getDevices = function() { var data = []; var cmd = [ exports.binPath, "devices" ] var result = SHELL.exec(cmd); var lines = result.split(/\r?\n/); for(var i = 0; i < lines.length; i++) { var row = lines[i].split(/\s+/); if(row.length == 2) { data.push({ host: row[0], type: row[1] }); } } return data; }; exports.getHostname = function(host) { return SHELL.exec([ exports.binPath, "-s", host, "shell", "getprop", "net.hostname" ]).trim(); }; exports.getPID = function(host) { var row = host.split(':'); var addr = row[0]; var port = row[1]; var cmd = "netstat -ano | findstr :" + port + " | findstr :0"; var result = SHELL.exec(cmd); return result.substring(result.lastIndexOf(' ')); }; exports.getList = function() { var data = []; var devices = exports.getDevices(); for(var i = 0; i < devices.length; i++) { var hostname = exports.getHostname(devices[i].host); var pid = exports.getPID(devices[i].host); data.push({ hostname: hostname, PID: parseInt(pid) }); } return data; };