2014-10-13 4 views
0

Моя проблема заключается в том, что я хочу, чтобы запустить команду оболочки из Java кода (мой IntelliJ плагин):.Не удается запустить программу "ADB" от IntelliJ плагин

Runtime.getRuntime() Exec ("ADB устройства")

Но я получаю IOException:

не удается запустить программу "ADB": ошибка = 2, нет такого файла или каталога.

Что странно, когда я запускаю его в режиме отладки, он работает, он ломается, только когда я развертываю свой плагин в реальном IntelliJ. Команда также работает с любого терминала. Единственное, что работает сейчас, набрав команду с полным путем:

/Пользователи/adamstyrc/Utils/ADB

Но это не решение. Как это исправить? Мое предположение заключалось бы в том, чтобы вручную загружать переменную bash PATH для добавления файла adb exec в проект, но это не изящное решение. Заранее спасибо!

+0

Вы уверены, что путь и т. Д. Верны. – vikingsteve

+0

Да, потому что с терминала он работает правильно. Путь не распознается IntelliJ Я думаю, но я не знаю, почему –

+0

Хорошо, и я думаю, вы запустили intellij с того же терминала, так что вы можете быть уверены, что он взял те же пути (или если вы изменили переменные пути, которые вы перезапустил терминал & intellij) – vikingsteve

ответ

2

Вы должны быть уверены, что правильные настройки пути передаются в IntelliJ.

Если вы, например, изменили настройки пути, или если вы запустили intellij из другого терминала или пользователя, то они могут быть неверными.

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

+0

Но я не хочу запускать IntelliJ из терминала. Я хочу запустить его в обычном режиме. Может ли добавить проект adb exec в проект? Любые другие идеи? –

+0

Ну, когда он запускается «нормально», просто нужен правильный путь и так далее. Я уверен, вы можете проверить свойства runtime в intellij, написав простой тест. – vikingsteve

0

Если вы работаете в 64 битной машине, попробуйте установить 32-разрядные библиотеки с использованием

 apt-get install ia32-libs 
+0

Это серьезный ответ? Я запускаю mac osx btw, и это скорее для Linux. –

Смежные вопросы