Это можно сделать, выполнив следующие действия:
Разработайте приложение, которое запускается как сервер и прослушивает вашу команду через порт внутри устройства
Приложение может бытьвызывается из команды / службы инструментария оболочки adb.Некоторый код, подобный приведенному ниже, для получения команд (строк) с вашего ПК и выполнения необходимых действий.
public void startServer() throws Exception {
try {
serverSocket = new ServerSocket(8080);
CLIENT_SOCKET = serverSocket.accept();
BufferedReader in = new BufferedReader(new InputStreamReader(
CLIENT_SOCKET.getInputStream()));
String inputLine;
// Starting server
while ((inputLine = in.readLine()) != null) {
//out(inputLine);
// do whatever with inputLine, handle touches for 'K'
}
} catch (IOException e) {
//err in connection, handle
}
перенаправляет ваш локальный порт на порт внутри оболочки adb (это порт вашего устройства, где находится приложение).слушает)
adb forward tcp:8080 tcp:8080
Вышеуказанная команда переадресует локальный порт ПК с порта 8080 на порт 8080 внутри устройства / эмулятора оболочки adb.
Программа на стороне клиента (вашего ПК) илискрипт, который подключается, отправляет команды на локальный порт, который, в свою очередь, достигает оболочки
Пример кода на python
import socket
soc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
soc.connect(('127.0.0.1', 8080))
soc.send('k\n') # this will reach inside the startServer function of app.
Выше приведен только пример кода, там будет многодругие complete
примеры описанных выше шагов онлайн.