android 发送shell命令

Posted Dr_abandon新秀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android 发送shell命令相关的知识,希望对你有一定的参考价值。

shellExec("rm -rf " + s_path);
private StringBuffer shellExec(String cmd) 
        Runtime mRuntime = Runtime.getRuntime(); //执行命令的方法
        try 
            //Process中封装了返回的结果和执行错误的结果
            Process mProcess = mRuntime.exec(cmd); //加入参数
            //使用BufferReader缓冲各个字符,实现高效读取
            //InputStreamReader将执行命令后得到的字节流数据转化为字符流
            //mProcess.getInputStream()获取命令执行后的的字节流结果
            BufferedReader mReader = new BufferedReader(new InputStreamReader(mProcess.getInputStream()));
            //实例化一个字符缓冲区
            StringBuffer mRespBuff = new StringBuffer();
            //实例化并初始化一个大小为1024的字符缓冲区,char类型
            char[] buff = new char[1024];
            int ch = 0;
            //read()方法读取内容到buff缓冲区中,大小为buff的大小,返回一个整型值,即内容的长度
            //如果长度不为null
            while ((ch = mReader.read(buff)) != -1) 
                //就将缓冲区buff的内容填进字符缓冲区
                mRespBuff.append(buff, 0, ch);
            
            //结束缓冲
            mReader.close();
            Lg.i("shell", "shellExec: " + mRespBuff);
            //弹出结果
//            Log.i("shell", "执行命令: " + cmd + "执行成功");
            return mRespBuff;

         catch (IOException e) 
            // 异常处理
            // TODO Auto-generated catch block
            e.printStackTrace();
        
        return null;
    

以上是关于android 发送shell命令的主要内容,如果未能解决你的问题,请参考以下文章

如何在Android中启动JAVA程序

在哪里可以找到有关 Android 的“服务调用”shell 命令的信息?

Android 测试 之adb shell

ADB 工作原理

linux shell命令行向udp端口发送数据

Android 通过adb shell am broadcast发送广播