У меня есть исполняемые исполняемые файлы php, которые поступают из некоторых приложений php-сервера на игровом рынке, и я попробовал их на своем планшете с помощью приложения оболочки.не может запускать/получать выходные данные из runtime.getruntime.exec() (android java)
Я создаю новое приложение и пытаюсь запустить его и получить выход, но он не работает.
У меня есть функция, которая копирует активы на устройство. У меня также есть некоторый код, чтобы проверить, что они там правильно
File file4 = new File(getFilesDir().getAbsolutePath()+"/php");
file4.setExecutable(true);
s+=file4.getName();
s+=file4.exists();
s+=file4.canExecute();
s+=file4.length();
он делает правильно сказать файл существует, является исполняемым и правильная длина файла.
Теперь я пытаюсь запустить его, он не дает мне выход php.
Я пробовал php -v
для версии выход, не работает.
Я пробовал php phpfile.php >> file.html
и прочитал файл, не работает.
Я пробовал с -f
, а также без -f
, но он не работает.
Наконец, я попытался дать параметры и работать dir
отдельно .exec
и до сих пор она не дает должного выхода
Когда я попытался runtime.getruntime.exec
с другими командами, как /bin/cmd/ls
... это дает правильный вывод.
PHP-файлы работают, я пробовал 2 из них на своем устройстве, в моем приложении ничего не работает.
Буду признателен за помощь.
s+=runphp();
public String runphp(){
try {
String prog= "./php";
String[] env= { "-f", getFilesDir().getAbsolutePath()+"/phprun.php"}; // ">>","phpoutput.txt"
File dir= new File(getFilesDir().getAbsolutePath());
Process p = Runtime.getRuntime().exec(prog,env,dir);
BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line=null;
String output="";
while ((line = in.readLine()) != null) {
output += line;
}
in.close();
p.waitFor();
return output;
} catch (IOException e) {
throw new RuntimeException(e);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}
Функция делает работу для других команд.
Пытались чтение из getErrorStream, а? – immibis
Я еще не научился это делать ... висеть только что узнал .. errm это дает кучу чисел? – user3110739
Он дает 24 номера между 30 и 150? Являются ли они ошибками? – user3110739