当我尝试给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