Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Русский
    3. ioBroker
    4. Скрипты
    5. ioBroker скрипты
    6. Управление Android устройством через ADB

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Управление Android устройством через ADB

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      Mikhail2804 last edited by Mikhail2804

      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();
              }
          });
      }
      
      1 Reply Last reply Reply Quote 0
      • M
        Mikhail2804 last edited by

        Запилил адаптер https://github.com/om2804/ioBroker.adb

        1 Reply Last reply Reply Quote 0
        • First post
          Last post

        Support us

        ioBroker
        Community Adapters
        Donate

        537
        Online

        31.8k
        Users

        80.0k
        Topics

        1.3m
        Posts

        adb android kodi
        1
        2
        709
        Loading More Posts
        • Oldest to Newest
        • Newest to Oldest
        • Most Votes
        Reply
        • Reply as topic
        Log in to reply
        Community
        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
        The ioBroker Community 2014-2023
        logo