當我嘗試給exec這樣一個外部腳本:的Runtime.exec()在Android中掛起
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);
}
有時腳本得到執行,但多數情況下我的應用程序掛起了幾秒鐘,直到Android的說我應用程序沒有反應,它需要殺死它。
我的問題是,可能發生了什麼。腳本有時候運行的是,並且有沒有異常被拋出,它只是掛起。至於發生了什麼,我感到不知所措。我正在使用Froyo(2.2.1我認爲)。
謝謝!
嗯,我猜是與Android的線程。你有沒有試過在一個線程中這樣做。 – Josnidhin 2011-04-15 06:10:38
你是這麼認爲的嗎?也許,會發生某種僵局,不知道。你是對的,我會給它自己的線索。 :-) – 2011-04-15 06:24:49
查看進程類doc developer.android.com/reference/java/lang/Process.html。概述看起來很有用,並解釋了爲什麼它可能會被阻止。 – Josnidhin 2011-04-15 07:51:26