Debería ser posible llamar al ejecutable con un directorio de trabajo específico utilizando Runtime.exec(String command, String[] envp, File dir)
de la siguiente manera:
Process process2=Runtime.getRuntime().exec("/data/data/my-package/files/myfile",
null, new File("/data/data/my-package/files"));
tal vez sin la ruta completa a myfile
Process process2=Runtime.getRuntime().exec("myfile",
null, new File("/data/data/my-package/files"));
Context#getFilesDir()
vez de hardcoding, la ruta debería funcionar también y es más segura/más limpia que especificar la ruta Dado que no se garantiza que /data/data/..
sea siempre la ruta correcta para todos los dispositivos.
Process process2=Runtime.getRuntime().exec("myfile",
null, getFilesDir()));
El problema con cd somewhere
es que el directorio se cambia por un proceso diferente por lo que la segunda llamada a exec
en un nuevo proceso no ve el cambio.
does '.... exec ("/data/data/my-package/files/myfile ");' work? – zapl
funciona, pero aquí quiero ejecutar mi archivo desde la carpeta especificada porque genera un nuevo archivo. gracias – 113408
Puedes ver [mi respuesta] [http://stackoverflow.com/questions/6811522/changing-the-working-directory-of-command-from-java/42281455#42281455] –