Моя команда работает только тогда, когда я запускаю ее с терминала. Это не работает, когда я использую лаунчер. Что мне нужно сделать, чтобы это исправить?

Я использую следующую команду для удаленного управления телефоном с помощью scrcpy :

adb kill-server ; adb connect (my phone's IP address):5555 ; scrcpy --prefer-text --serial (my phone's IP address)

Он работает без проблем в терминале и программа запускается, чтобы я мог его использовать. Но когда я запускаю ту же команду с помощью программы запуска на рабочем столе, терминал открывается и закрывается немедленно, а программа не запускается (в свойствах программы запуска включен «Запуск в терминале»). Что я должен сделать, чтобы это работало?

Вот вывод, который я получаю при запуске команды в терминале:

* daemon not running; starting now at tcp:5037
* daemon started successfully
connected to (my phone's IP address):5555
INFO: scrcpy 1.12.1 <https://github.com/Genymobile/scrcpy>
/usr/share/scrcpy/scrcpy-server: 1 file pushed. 0.9 MB/s (24773 bytes in 0.026s)
error: more than one device/emulator
ERROR: "adb reverse" returned with value 1
WARN: 'adb reverse' failed, fallback to 'adb forward'
INFO: Initial texture: 720x1280
0
задан 18 July 2020 в 03:14

1 ответ

Модуль запуска, скорее всего, рассматривает всю строку как одну команду. В вашем случае все, что следует за adb ( ...; ...; ... ), рассматривается как аргументы, а не как отдельные команды. Чтобы обойти эту проблему, используйте bash -c .

bash -c "adb kill-server ; adb connect 0.0.0.0:5555 ; scrcpy --prefer-text --serial 0.0.0.0"
2
ответ дан 30 July 2020 в 22:06

Другие вопросы по тегам:

Похожие вопросы: