在 android 应用程序中执行 linux 命令而不是使用 java 替代方案是否有任何优点/缺点?
前任:
File file = new File("file.txt");
file.delete();
对比
rm file.txt
没有,真的,或者至少在一般情况下没有。
如果您想调用不公开编程接口的单独且复杂的程序,我会认为它很有用。但是在那种情况下,我仍然会通过调用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).