吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2803|回复: 3
收起左侧

[其他转载] android 执行 shell 组件源码 多命令共用进程版v1.0

[复制链接]
djwdj 发表于 2017-12-16 20:11
本帖最后由 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[4096];
                        int l=i.read(c);
                        s=new String(c,0,l-1);
                }
                catch (IOException e)
                {}
                return s;
        }

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| djwdj 发表于 2017-12-16 22:24 来自手机
本帖最后由 djwdj 于 2017-12-16 22:34 编辑

该版本不用缓冲区
优点:只用一个进程,执行速度快。
缺点:只有4k输出,不适用文件交互。

文件交互可以用有缓冲区的:https://www.52pojie.cn/thread-676102-1-1.html
优点:可读文件
缺点:一个命令一个进程
萧菜鸟 发表于 2017-12-16 20:34
aa38123 发表于 2017-12-16 20:51
没看出你的“持续”体现在哪,还有su传参进来却没有用到,而且你这样只能得到成功的结果,错误结果要调用p.getErrorStream()得到
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 10:52

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表