NEWS
Управление Android устройством через ADB
-
Android Debug Bridge (ADB) - это универсальный инструмент командной строки, который позволяет вам общаться с устройством. Команда adb облегчает различные действия на устройстве, такие как установка и отладка приложений, и предоставляет доступ к оболочке Unix, которую можно использовать для запуска различных команд на устройстве.
ADB включено в Android SDK Platform-Tools. Но можно поставить отдельно Minimal ADB and Fastboot.
На андроид устройстве (в моём случае tv box x92), уставновлено приложение WiFi ADB для подключения через WiFi (можно без приложения по через провод USB). Подробнее как организовать связь почитайте в Интернетах.
в консоле выполняем подключение к Android устройству:
adb connect 192.168.0.66:5555
Разрешаем отладку на самом устройстве, ставя галочку всегда разрешать отладку (чтоб не видеть каждый раз этот диалог при подключении).
После этого устройство должно появиться в списке по командеadb devices
После перезапуска компьютера нужно запускать сервер adb. Добавьте эту команду в автозагрузку.
adb start-server
Далее переходим к ioBroker.
Нужно поставить пакет adbkit.И для примера скрипт запуска KODI
var adb = require('adbkit'); var client = adb.createClient(); var host = "192.168.0.66"; var port = 5555; var deviceid = host + ':' + port; openKodi(function() {console.log("KODI opened")}); function openKodi(callback) { openApp("org.xbmc.kodi", callback); } function openApp(appName, callback) { client.listDevices() .then(function(devices) { // find my device in connected devices var myDevice = devices.find(function(device) { return device.id === deviceid; }); if (!myDevice) { // need connect client.connect(host, port, function(err, id) { if (!err) { onConnectedDevice(appName, callback); } }); } else { // device is connected onConnectedDevice(appName, callback); } }) .catch(function(err) {log(err)}); } function onConnectedDevice(appName, callback) { // open KODI runAppCommand(appName, function() { // await KODI connection to driver var kodiConnectionSub = on("kodi.0.info.connection", function(cs) { unsubscribe(kodiConnectionSub); if (cs.state.val === true) { console.log("KODI is connected"); if (callback) callback(); } }); }); } function runAppCommand(appName, callback) { client.shell(deviceid, "monkey -p " + appName + " -c android.intent.category.LAUNCHER 1", function(err, output) { if (!err && callback) { callback(); } }); }
-
Запилил адаптер https://github.com/om2804/ioBroker.adb