Могу ли я использовать оболочку adb для отправки команд в мое приложение

Я хочу найти способ создания команд, которые я могу отправить в мое приложение, используя оболочку adb или аналогичную. Таким образом, я могу внести небольшие изменения в свою программу, не перезагружая приложение каждый раз, когда я что-либо меняю.

Есть ли способ открыть оболочку adb и отправить команду запущенному приложению?

Если это невозможно, то каков возможный способ отправки команд в мое приложение, чтобы я мог делать такие вещи, как (перемещение элементов интерфейса) или (создать файл из URL-адреса) или несколько других вещей … По существу Я хочу, чтобы отправлять строки команд в мое приложение …..

Если я смогу сделать это с помощью инструментов командной строки, которые будут милыми. Иначе Что было бы хорошим способом сделать это?

Из оболочки adb введите am . Вы можете начинать действия и услуги, а также отправлять трансляции. Никакие аргументы не будут печатать информацию об использовании.

С хост-машины вы можете сделать adb shell am <command> если вы хотите вызвать это из скриптов.

Параметр adb shell am вероятно, является самым чистым / лучшим / самым потрясающим вариантом, но вы могли бы использовать Thread в своем приложении для проверки наличия определенного файла на SD-карте. Что-то вроде (НЕ ИСПОЛЬЗУЙТЕ ЭТОТ КОД БЕЗ СЕРЬЕЗНЫХ МОДИФИКАЦИЙ):

 public void run() { File f = new File("/sdcard/appcommands"); while(!stop){ if(f.exists()){ // read file // obey commands // remove file or use some other timing monitor } } } в public void run() { File f = new File("/sdcard/appcommands"); while(!stop){ if(f.exists()){ // read file // obey commands // remove file or use some other timing monitor } } } 

То вы можете просто использовать adb push для записи командных файлов. Действительно неэффективен, но его можно заставить работать в крайнем случае. Вы также можете делать более сложные вещи, такие как создание локальных серверов TCP / HTTP и использование переадресации портов adb, но это может быть просто излишним.