Переменная $PATH не наследуется через getRuntime ().выполнение
Я пытаюсь запустить скрипт следующей командой на Java:
proc = Runtime.getRuntime().exec(cmd, null, fwrkDir);
Команда, набранная в консоли, работает безупречно. Но здесь он, похоже, не находит скрипт, хотя его путь добавляется к переменной $PATH. Разве Java не наследует автоматически все такие переменные, если null передается как Environment?3 ответа:
proc = Runtime.getRuntime().exec(cmd, null, fwrkDir);
Должно быть
proc = Runtime.getRuntime().exec(cmd, "PATH=$PATH:/android-sdk-linux_x86/platform-tools", fwrkDir);
Обратите внимание, что второй параметр вызова exec() в вашем примере равен null. Второй параметр-это место, где вы устанавливаете среду для выполняемой команды. Если вы используете Java 6, рассмотрите возможность использованияProcessBuilder .