Powinno być możliwe, aby zadzwonić do pliku wykonywalnego z określonego katalogu roboczego przy użyciu Runtime.exec(String command, String[] envp, File dir)
następująco:
Process process2=Runtime.getRuntime().exec("/data/data/my-package/files/myfile",
null, new File("/data/data/my-package/files"));
może bez pełnej ścieżki do myfile
Process process2=Runtime.getRuntime().exec("myfile",
null, new File("/data/data/my-package/files"));
Context#getFilesDir()
zamiast hardcoding ścieżka powinna również działać i jest bezpieczniejsza/czystsza niż określanie ścieżki nie jest gwarantowane, że /data/data/..
jest zawsze właściwą ścieżką dla wszystkich urządzeń.
Process process2=Runtime.getRuntime().exec("myfile",
null, getFilesDir()));
Problem z cd somewhere
to, że katalog jest zmieniany dla innego procesu, tak drugie wywołanie exec
w nowy proces nie widzi zmian.
robi '.... exec ("/data/data/my-package/files/myfile ");' działa? – zapl
to działa, ale tutaj chcę wykonać mój plik z określonego folderu, ponieważ generuje nowy plik. dzięki – 113408
Możesz zobaczyć [moja odpowiedź] [http://stackoverflow.com/questions/6811522/changing-the-working-of-command-from-java/42281455#42281455] –