Cuando intento exec un script externo de esta manera:Runtime.exec() en Android cuelga
try {
process = Runtime.getRuntime().exec(
new String[] { "/system/bin/sh", "./myscript.sh" },
null,
"/data/mydir",
);
} catch (IOException e) {
Log.e(TAG, e.getMessage(), e);
} catch (SecurityException e) {
Log.e(TAG, e.getMessage(), e);
}
A veces, el script se ejecuta, pero más a menudo mi aplicación cuelga un par de segundos hasta que dice mi Android la aplicación no responde y debe eliminarla.
Mi pregunta es, ¿qué puede estar pasando? La secuencia de comandos es que se ejecuta a veces, y hay sin excepción que se lanza, simplemente se bloquea. No sé qué está pasando. Estoy usando Froyo (2.2.1 creo).
Gracias!
Hmm creo que algo que ver con rosca androide. Has intentado hacer esto en un hilo. – Josnidhin
¿Crees? Tal vez, hay algún tipo de punto muerto sucediendo, no sé. Tienes razón, le daré su propio hilo. :-) –
Consulte la clase de proceso doc developer.android.com/reference/java/lang/Process.html. La descripción general parece útil y explica por qué podría estar bloqueando. – Josnidhin