【发布时间】:2011-04-15 05:54:35
【问题描述】:
当我尝试以这种方式执行外部脚本时:
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 说我的应用没有响应并且需要终止它。
我的问题是,可能会发生什么。脚本 is 有时会运行,并且 no 异常被抛出,它只是挂起。我不知道发生了什么。我正在使用 Froyo(我认为是 2.2.1)。
谢谢!
【问题讨论】:
-
嗯,我想这与 android 线程有关。您是否尝试过在线程中执行此操作。
-
你这么认为吗?也许,发生了某种僵局,不知道。你是对的,我会给它自己的线程。 :-)
-
查看流程类文档 developer.android.com/reference/java/lang/Process.html。概述似乎很有用,并解释了它可能会阻塞的原因。
标签: android runtime exec android-2.2-froyo