应该 Android Shell 命令 运行 使用 Java 或 Jni
Should Android Shell Commands Run With Java or Jni
在 android 上有两种方法可以使用 运行 shell 命令,使用 java 或使用 jni。
我想知道 运行 shell 命令是否更有效。
Java
runtime.exec("su");
Jni
system("su");
虽然我确实听说 Jni 不接受多个命令,这可能是一个挫折。
您也可以尝试使用 http://alvinalexander.com/java/java-exec-processbuilder-process-1 .
希望对您有所帮助 ;)
Runtime.exec()
下的机制在原生中是fork/exec
,这是一种更常见、更安全的命令执行方式。
system()
在 jni 中使用您当前的 shell 来解释命令。
此外,你可以在jni中使用fork/exec
来执行命令。
这两种方式的对比见here。
最后,很难说哪个更高效,他们都必须创建一个新进程来处理执行。
在 android 上有两种方法可以使用 运行 shell 命令,使用 java 或使用 jni。
我想知道 运行 shell 命令是否更有效。
Java
runtime.exec("su");
Jni
system("su");
虽然我确实听说 Jni 不接受多个命令,这可能是一个挫折。
您也可以尝试使用 http://alvinalexander.com/java/java-exec-processbuilder-process-1 .
希望对您有所帮助 ;)
Runtime.exec()
下的机制在原生中是fork/exec
,这是一种更常见、更安全的命令执行方式。
system()
在 jni 中使用您当前的 shell 来解释命令。
此外,你可以在jni中使用fork/exec
来执行命令。
这两种方式的对比见here。
最后,很难说哪个更高效,他们都必须创建一个新进程来处理执行。