在运行第一个命令
后,我想通过shell运行一些命令行我使用以下命令,但它不起作用
Shell("cmd.exe /k" + "<adb shell 1> & <su 2> & <mv /data/local/tmp/build2.prop /system/build.prop 3>")
例如,我在cmd中执行以下命令
adb shell
苏
mv /data/local/tmp/build2.prop /system/build.prop
如何运行vb.net?
edite ---------------------------------------------- -------
老实说,我们需要将文件传输到vb.net到Android设备/系统文件夹
我们通过以下命令使用androidlib,但它不起作用
Adb.ExecuteAdbCommand(Adb.FormAdbCommand("shell", "su", "-c", "mount -o remount, rw /system"))
Adb.ExecuteAdbCommand(Adb.FormAdbCommand("shell", "su", "-c", "cat /data/local/tmp/build2.prop > /system/build.prop"))
此命令执行只读文件系统错误
答案 0 :(得分:0)
您在执行 adb
内的其他命令之后的效果,在这种情况下,您当前正在执行的操作将无效。将命令与&号&
组合将分别执行每个命令 ,而不是先前打开的进程。
为了 adb
进程 ,而不是CMD,您需要redirect standard input做你想做的事。
重定向输入只是一种改变进程输入位置的方法。您可以将其重定向到您可以控制的其他流,而不是从键盘输入流(用户)获取它。
未经测试,但这样的事情应该有效:
Dim psi As New ProcessStartInfo("adb", "shell 1")
psi.UseShellExecute = False
psi.RedirectStandardInput = True
Dim p As Process = Process.Start(psi)
Dim InputStream As StreamWriter = psi.StandardInput
InputStream.WriteLine("su 2")
InputStream.WriteLine("mv /data/local/tmp/build2.prop /system/build.prop 3")