This Tasker plugin allows you to send a (series of) ADB Shell command(s) to a remote device (or the device itself) that has ADB over WiFi enabled.
This app obviously does need Tasker to work as it's a plugin (https://play.google.com/store/apps/details?id=net.dinglisch.android.taskerm, this is a paid app with a 7 days free trial). Again, without Tasker it WON'T WORK. Was I clear enough? Anyways...
On the target device you can do anything you would normally be able to do when using the terminal or ADB Shell of that device. This includes opening apps, moving files, simulating input et cetera (The sky is the limit and Google is your friend).
My app cakurummy.comn be used as an action in Tasker and needs to be configured properly when added to a task to work.
NOTE:
- You can send multiple commands at once by separating them with a ";".
- All commands in a single action are automatically followed with an "exit" command so to close the ADB connection. This means that if you want to send multiple commands that are depending on each other, you will need to put them in a single Tasker action and separate them with ";".
- If you want multiple actions of my plugin to run after each other in a Tasker task, please keep the timeout set as is. Tasker will continue when the command is sent.
- The first time you try to connect to another device via ADB it will ask you if you trust the device. For this plugin to work correctly, you'll need to always "trust this computer".
- The output of the console can be viewed and reused from within Tasker. This can be done by accessing %output1, %output2 etc. or by iteration over %output() using a for loop.
- The plugin will generate two key files on your device to be able to make a secure ADB connection to the devices.
Now for some useful commands!
- A command I myself use a lot is to turn my ADB over WiFi enabled AndroidTV (Nvidia SHIELD) on or off by sending the command "input keyevent POWER", this simulates a power button press.
- Of course you can vary which key to press, for example to press the arrow keys you can do "input keyevent DPAD_RIGHT" or “…LEFT” etc.
- Another simple command is "reboot", which will, you guessed it, reboot the device! You can also put "reboot -p" here to power it down.
- A cool thing to be able to do is to launch apps on the device. You will have to Google a bit to find the Main activity of an app. This example will open Chrome on the device: "am start -n com.android.chrome/com.google.android.apps.chrome.Main".
- When you fill in “localhost” in the IP address field, every command will be executed on the device itself! This works even without root if you, of course, have ADB over WiFi enabled (can be activated from a pc using “adb tcpip 5555”).
Of course there are many other commands, the sky is the limit!
This is my first ever published app, so please leave feedback and submit bugs so I can try my best to fix them! Any tips are more than welcome!
The idea to create this app came from https://play.google.com/store/apps/details?id=com.cgutman.androidremotedebugger, which allows the user to connect to a remote device via an interface in the app itself. Please read the description of that app too, it contains some tips on enabling ADB over WiFi. I use the same AdbLib Java library in my app.
I use the AdbLib library found at https://github.com/cgutman/AdbLib and use https://github.com/cgutman/AdbLibTest as an example for how to use the library. I adapted this example to work with a given command and converted it to a Tasker plugin.
For help, you can email me or visit the XDA-Developers thread at https://forum.xda-developers.com/u/tasker-tips-tricks/plugin-remote-adb-shell-t3562013. This thread also contains some useful tips for accessing the local device running the task without root.
Now open source at https://github.com/Jolanrensen/ADBPlugin!
Esse plug-in do Tasker permite enviar um (ou vários) comandos do ADB Shell para um dispositivo remoto (ou para o próprio dispositivo) que tenha ADB sobre WiFi ativado.
Este aplicativo obviamente precisa do Tasker para funcionar, pois é um plugin (https://play.google.com/store/apps/details?id=net.dinglisch.android.taskerm, este é um aplicativo pago com 7 dias de teste gratuito ). Mais uma vez, sem Tasker, NÃO FUNCIONARÁ. Eu estava claro o suficiente? Em todo o caso...
No dispositivo de destino, você pode fazer qualquer coisa que normalmente seria capaz de fazer ao usar o terminal ou o ADB Shell desse dispositivo. Isso inclui abrir aplicativos, mover arquivos, simular entradas etc. (O céu é o limite e o Google é seu amigo).
Meu aplicativo pode ser usado como uma ação no Tasker e precisa ser configurado corretamente quando adicionado a uma tarefa para funcionar.
NOTA:
- Você pode enviar vários comandos de uma só vez, separando-os com um ";".
- Todos os comandos em uma única ação são automaticamente seguidos com um comando "exit" para fechar a conexão ADB. Isso significa que, se você quiser enviar vários comandos que dependem um do outro, será necessário colocá-los em uma única ação do Tasker e separá-los com ";".
- Se você quiser que várias ações do meu plug-in sejam executadas uma após a outra em uma tarefa do Tasker, mantenha o tempo limite definido como está. Tasker continuará quando o comando for enviado.
- A primeira vez que você tentar se conectar a outro dispositivo via ADB, ele perguntará se você confia no dispositivo. Para este plugin funcionar corretamente, você precisará sempre "confiar neste computador".
- A saída do console pode ser visualizada e reutilizada a partir do Tasker. Isso pode ser feito acessando% output1,% output2 etc. ou por iteração sobre% output () usando um loop for.
- O plugin irá gerar dois arquivos chave no seu dispositivo para poder fazer uma conexão ADB segura aos dispositivos.
Agora, para alguns comandos úteis!
- Um comando que eu mesmo uso muito é ligar ou desligar meu ADB sobre WiFi AndroidTV (Nvidia SHIELD) enviando o comando "input keyevent POWER", isso simula um pressionamento de botão liga / desliga.
- Claro que você pode variar a tecla a pressionar, por exemplo, para pressionar as teclas de seta que você pode fazer "keyevent DPAD_RIGHT" ou "... ESQUERDA" etc.
- Outro comando simples é "reboot", que, você adivinhou, reinicie o dispositivo! Você também pode colocar "reboot -p" aqui para desligá-lo.
- Uma coisa legal para poder fazer é lançar aplicativos no dispositivo. Você precisará do Google um pouco para encontrar a atividade principal de um aplicativo. Este exemplo abrirá o Chrome no dispositivo: "am start -n com.android.chrome/com.google.android.apps.chrome.Main".
- Quando você preencher “localhost” no campo de endereço IP, todos os comandos serão executados no próprio dispositivo! Isso funciona mesmo sem raiz, se você, é claro, tem ADB sobre WiFi ativado (pode ser ativado a partir de um PC usando o "adb tcpip 5555").
Claro que existem muitos outros comandos, o céu é o limite!
Este é o meu primeiro aplicativo publicado, por isso, deixe comentários e envie bugs para que eu possa tentar o meu melhor para corrigi-los! Qualquer dica é mais do que bem vinda!
A idéia de criar este aplicativo veio de https://play.google.com/store/apps/details?id=com.cgutman.androidremotedebugger, que permite ao usuário se conectar a um dispositivo remoto através de uma interface no próprio aplicativo. Por favor, leia a descrição desse aplicativo também, ele contém algumas dicas sobre como ativar o ADB sobre WiFi. Eu uso a mesma biblioteca AdbLib Java no meu aplicativo.
Eu uso a biblioteca AdbLib encontrada em https://github.com/cgutman/AdbLib e uso https://github.com/cgutman/AdbLibTest como um exemplo de como usar a biblioteca. Eu adaptei este exemplo para trabalhar com um determinado comando e o converti em um plugin Tasker.
Para obter ajuda, você pode me enviar um e-mail ou visitar o encadeamento do XDA-Developers em https://forum.xda-developers.com/u/tasker-tips-tricks/plugin-remote-adb-shell-t3562013. Esse segmento também contém algumas dicas úteis para acessar o dispositivo local que executa a tarefa sem raiz.
Agora abra o código-fonte em https://github.com/Jolanrensen/ADBPlugin!