public static string ExecuteAaptCommand(string appName, string command)
{
string result = string.Empty;
string error = string.Empty;
try
{
using (Process process = new Process())
{
process.StartInfo.FileName = appName; // 设定程序名称。
process.StartInfo.Arguments = command; // 设定程序参数。
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardInput = true;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardError = true;
process.StartInfo.StandardOutputEncoding = Encoding.UTF8; //设置标准输出编码
process.StartInfo.CreateNoWindow = true; // 不显示窗口。
process.Start();

result = process.StandardOutput.ReadToEnd();
error = process.StandardError.ReadToEnd();

Console.WriteLine("Command: " + command + "\r\n" + result);

process.WaitForExit();

process.Close();
}
}
catch(Exception ex)
{
throw ex;
}
return result;
}

windows系统下 cmd 命令默认输出cp936编码,即gb2312.

process.StartInfo.StandardOutputEncoding = Encoding.UTF8; 这句,将编码设置成utf-8,保证中文不会乱码。

"aapt.exe d badging xxx.apk > xxx.txt"  将输出结果输出到xxx.txt中。

C# process 使用方法的更多相关文章

  1. C# Process.Start()方法详解

    System.Diagnostics.Process.Start(); 能做什么呢?它主要有以下几个功能: 1.打开某个链接网址(弹窗). 2.定位打开某个文件目录. 3.打开系统特殊文件夹,如“控制 ...

  2. C# Process.Start()方法详解(转)

    C# Process.Start()方法详解 System.Diagnostics.Process.Start(); 能做什么呢?它主要有以下几个功能: 1.打开某个链接网址(弹窗). 2.定位打开某 ...

  3. 转:C# Process.Start()方法详解

    http://blog.csdn.net/czw2010/article/details/7896264 System.Diagnostics.Process.Start(); 能做什么呢?它主要有以 ...

  4. 进程之 Process join方法其他属性与进程Queue

    Process join方法 以及其他属性 在主进程运行过程中如果想并发地执行其他的任务,我们可以开启子进程,此时主进程的任务与子进程的任务分两种情况 情况一:在主进程的任务与子进程的任务彼此独立的情 ...

  5. C# Process.Start方法

    System.Diagnostics.Process.Start(); 主要功能: 1.打开某个链接网址(弹窗). 2.定位打开某个文件目录. 3.打开系统特殊文件夹,如“控制面板”等. Proces ...

  6. pip: failed to create process.解决方法

    昨天在使用pip过程,pip提示:failed to create process. 解决方法:python -m pip install xxx 就可以了 如以matplotlib为例即:pytho ...

  7. dpkg: error: dpkg status database is locked by another process 解决方法

    使用dpkg -i/apt命令安装,报错: ------------------------------------------------------------- dpkg: error: dpk ...

  8. 关于.Net中Process的使用方法和各种用途汇总(一):Process用法简介

    简介: .Net中Process类功能十分强大.它可以接受程序路径启动程序,接受文件路径使用默认程序打开文件,接受超链接自动使用默认浏览器打开链接,或者打开指定文件夹等等功能. 想要使用Process ...

  9. Xcode 升级后,常常遇到的遇到的警告、错误,解决方法(转)

    从sdk3.2.5升级到sdk 7.1中间废弃了很多的方法,还有一些逻辑关系更加严谨了.1,警告:“xoxoxoxo”  is deprecated解决办法:查看xoxoxoxo的这个方法的文档,替换 ...

随机推荐

  1. quick-x 2.2.5 DragonBones 某些fla导出使用后player卡死

    1 2 3 4 5 6 7 8 9 10 11     --test 龙骨   self._db = dragonbones.new({             skeleton="game ...

  2. 池化 - Apache Commons Pool

    对于那些创建耗时较长,或者资源占用较多的对象,比如网络连接,线程之类的资源,通常使用池化来管理这些对象,从而达到提高性能的目的.比如数据库连接池(c3p0, dbcp), java的线程池 Execu ...

  3. php基础之 ->, =>,@,&,::,%符号

    => 是数组成员访问符号 -> 是对象成员访问符号 比如: $array = array("site map"=>"map.php"); // ...

  4. 合理的使用size_t可以提高程序的可移植性和代码的可读性,让你的程序更高效。

    最近研读STL源码时,发现里面有很多ptrdiff_t类型的数据,这与size_t的作用类似.以下是一篇关于size_t等平台无关类型的作用,写得很清楚.特将其记录下来. http://blog.cs ...

  5. 纪念SlingShot 矩阵

    第一次独立做矩阵,只WA了一次,好高兴~~ 题意:已知 F(n)=3 * F(n-1)+2 * F(n-2)+7 * F(n-3),n>=3,其中F(0)=1,F(1)=3,F(2)=5,对于给 ...

  6. [?]Unity快捷键

    Super=Win键. Rererence: What are Unity's keyboard and mouse shortcuts?

  7. 从汇编看c++的虚拟继承以及其内存布局(一)

    先看第一种最简单的情形,所有类中没有任何虚函数的菱形继承. 下面是c++源码: class Top {//虚基类 public: int i; Top(int ii) { i = ii; } }; c ...

  8. avalon中常用的事件

     ms-on-change 相当于失去焦点事件. ms-on-input 相当于watch事件 http://www.runoob.com/jsref/event-oninput.html

  9. CSS display:table属性用法- 轻松实现了三栏等高布局

    display:table:此元素会作为块级表格来显示(类似 <table>); display:table-cell属性指让标签元素以表格单元格的形式呈现,类似于td标签.目前IE8+以 ...

  10. Composer的使用

    安装 curl -sS https://getcomposer.org/installer | php 你可以使用--install-dir选项将Composer安装到指定的目录,例如: curl - ...