因此,当通过应用程序运行命令时,我实际上已经掌握了它。但如果您不了解某些特征,那又有什么意义呢?正确?
我的问题是“-c”究竟是什么意思?
Runtime.getRuntime().exec(new String[]{"su","-c","reboot bootloader"});
是的,该行将设备引导至引导程序但我想知道,-c是什么意思?我已经尝试过搜索但是不相关的东西正在涌现。
答案 0 :(得分:1)
以下是一些如何找到答案的提示。
Google javadoc RunTime
。这通常是获取正确Oracle文档的最快方式。
第一个链接是http://docs.oracle.com/javase/7/docs/api/java/lang/Runtime.html,请关注它。
在javadoc页面上,搜索exec(String[] cmdarray)
。点击链接(点击方法的exec
名称)。
阅读javadoc:
exec(cmdarray, null, null)
exec
名称)。阅读exec(String[], String[], File)
方法的javadoc。在阅读时,请考虑最后两个参数是null
。你找到了
在单独的进程中执行指定的命令和参数...给定一个数组 字符串cmdarray,表示命令行的标记... mdarray - 包含要调用的命令及其参数的数组
这意味着你的代码
Runtime.getRuntime().exec(new String[]{"su","-c","reboot bootloader"});
就像从命令行运行命令su
给它一些参数一样:
su -c 'reboot bootloader'
使用google搜索su命令行参数。在这里你找到了
su通常是将登录会话的所有权更改为root或任何其他用户的最简单,最方便的方法... su中最常用的几个选项是-c,它告诉su执行在同一行上直接跟随它的命令。
如您所见,您的代码将命令reboot bootloader
称为根。
下次,按照上述程序自行:)我现在投入了大量时间,请不要浪费它:)
如果你在我的回答中感到轻微的讽刺,你可能并不是真的:)但请注意,这不是一个纯粹的 RFTM答案,它真的做< / em>回答你的问题,而且它会教你如何自己找到答案。