正常我们
adb push xxxx /sdcard/即可
但如果有中文则要加上双引号
adb push "c:\\这是中文.jpg" "/sdcard/这是中文.jpg"
同样 adb pull也是一样的
adb pull "/sdcard/这是中文.jpg" "c:\\这是中文.jpg"
不用大费周章的去同改adb 的代码,加上双引号就好了!
c# 在执行中增加
psi.StandardOutputEncoding = Encoding.UTF8;
psi.StandardErrorEncoding = Encoding.UTF8;
可对中文进行捕获
public static String run_process_without_window(String path, String arg, int time_wait_for_exit = 10000, bool forceDisconnect = false)
{
string output = "";
try
{
if (forceDisconnect == false)
{
if (arg.IndexOf("disconnect") != -1)
{
return arg;
}
}
System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo(@path, @arg);
psi.CreateNoWindow = true; // 不创建新窗口
psi.RedirectStandardOutput = true;
psi.RedirectStandardError = true; // 重定向错误输出
psi.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
psi.UseShellExecute = false;
psi.StandardOutputEncoding = Encoding.UTF8;
psi.StandardErrorEncoding = Encoding.UTF8;
System.Diagnostics.Process listFiles;
listFiles = System.Diagnostics.Process.Start(psi);
System.IO.StreamReader myOutput = listFiles.StandardOutput;
System.IO.StreamReader myerrOrput = listFiles.StandardError;
listFiles.WaitForExit(time_wait_for_exit);
if (listFiles.HasExited)
{
output = myOutput.ReadToEnd() + "\r\n" + myerrOrput.ReadToEnd();
}
}
catch(Exception)
{
}
return output;
}