android 执行 shell 组件源码 多命令共用进程版v1.0
本帖最后由 djwdj 于 2017-12-17 12:29 编辑java.lang.Process su;
public String cmd(String cmd)
{
String s=;
try
{
if(su==null)
{
su=Runtime.getRuntime().exec("su");
}
OutputStream o=su.getOutputStream();
o.write((cmd+"\n").getBytes());
o.flush();
InputStreamReader i=new InputStreamReader(su.getInputStream());
char[] c=new char;
int l=i.read(c);
s=new String(c,0,l-1);
}
catch (IOException e)
{}
return s;
} 本帖最后由 djwdj 于 2017-12-16 22:34 编辑
该版本不用缓冲区
优点:只用一个进程,执行速度快。
缺点:只有4k输出,不适用文件交互。
文件交互可以用有缓冲区的:https://www.52pojie.cn/thread-676102-1-1.html
优点:可读文件
缺点:一个命令一个进程 java代码看懂了,不知道什么用 没看出你的“持续”体现在哪,还有su传参进来却没有用到,而且你这样只能得到成功的结果,错误结果要调用p.getErrorStream()得到
页:
[1]