[英]How do you run terminal commands in a created android application on rooted emulator?
我目前正在创建一个将运行一些终端命令的android应用程序。 我使用的是默认情况下root附带的genymotion Nexus 5(4.4.4)仿真器。 但是,为了测试一些常规命令,我做了以下操作:
Process process = Runtime.getRuntime().exec("su");
process = Runtime.getRuntime().exec(new String[]{"mkdir /sdcard/tmp1/"});
process = Runtime.getRuntime().exec(new String[]{"adb pull /sdcard/tmp3/new4.txt \"C:\\Users\\my_username\\Documents\\\""
当执行“ su”时,我从名为SuperUser的应用程序收到一条消息,提示我已获得root特权。 但是,没有其他命令被执行。 没有tmp1目录,我无法将手动添加到模拟器的new4.txt文件拖到我的documents文件夹中。
我在路径字符串中是否缺少某些内容?
当执行“ su”时,我从名为SuperUser的应用程序收到一条消息,提示我已获得root特权。
因此,我想您正在手机上运行代码。 在这种情况下,您还要在电话上运行您要在主机上运行的第三个命令( adb pull
)。
正如这个答案指出的那样,您正在不同的子Shell中运行连续的命令。 因此,您的第一个su
与第二个exec
的上下文无关紧要。 要使用su执行命令,请参见su的手册页 。 一个简单的例子是:
su - -c "whoami"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.