1

在 android 应用程序中执行 linux 命令而不是使用 java 替代方案是否有任何优点/缺点?

前任:

File file = new File("file.txt");
file.delete();

对比

rm file.txt
4

1 回答 1

4

优点?

没有,真的,或者至少在一般情况下没有。

如果您想调用不公开编程接口的单独且复杂的程序,我会认为它很有用。但是在那种情况下,我仍然会通过调用ProcessBuilder而不是使用系统执行来调用。

缺点

  • 不安全

    如果它不是你的程序,你不知道它做了什么。它可能被篡改,并且可能需要使用不同的权限和特权。

  • 不稳定

    如果它不是你的程序,你真的不知道它是否存在以及它是否永远存在。

  • 浪费的

    它无缘无故地产生了一个额外的过程。

  • 不透明

    It's harder for you to monitor a long-running task and to check for return codes (and again the conventions for these may change in the future, which brings us back to unsafe and unstable).

于 2013-09-03T19:48:40.470 回答