В настоящее время я пытаюсь получить кнопку в Qt для запуска следующей команды: adb reboot
, Я нахожусь на MAC, и когда я запускаю эту команду в моей консоли, она перезагружает Android
устройство подключено к моему компьютеру через USB
, Я прочитал форумы онлайн и не смог решить эту проблему. Вот некоторые из моих попыток при попытке позвонить adb reboot
в Qt:
void MainWindow::on_pushButton_clicked()
{
QProcess::startDetached("/bin/bash", QStringList()<< "-c" << "export PATH=${PATH}:/Downloads/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/");
QProcess::startDetached("/bin/bash", QStringList()<< "-c" << "adb reboot");
QProcess::startDetached("/bin/sh", QStringList()<< "-c" << "adb reboot");
QProcess::startDetached("/Downloads/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/", QStringList()<< "-c" << "adb reboot");
}
Это вывод моей консоли, когда я нажимаю кнопку:
Starting /Users/ddelorenzo/Documents/QaGUI/QaGUI/QaGUI.app/Contents/MacOS/QaGUI..
/bin/bash: adb: command not found
/bin/sh: adb: command not found
Любая помощь будет принята с благодарностью!
Проще всего было бы использовать Этот метод:
bool QProcess :: startDetached (const QString & команда) [статические]
Это перегруженная функция.
Запускает команду в новом процессе и отсоединяется от него. Возвращает true в случае успеха; в противном случае возвращает false.
Обработка аргумента идентична соответствующей перегрузке start ().
После того, как командная строка была разделена и не заключена в кавычки, эта функция ведет себя как перегрузка, которая принимает аргументы в виде списка строк.
Поэтому я бы написал что-то вроде этого:
if (!QProcess::startDetached("/Downloads/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb reboot"))
qDebug() << "Failed to execute";