Android应用中执行Linux命令

  修改某一文件的权限为777为例:

/** 执行Linux命令,并返回执行结果。 */
      public static String exec(String[] args) {
          String result = "";
          ProcessBuilder processBuilder = new ProcessBuilder(args);
          Process process = null;
          InputStream errIs = null;
          InputStream inIs = null;
          try {
              ByteArrayOutputStream baos = new ByteArrayOutputStream();
              int read = -1;
              process = processBuilder.start();
              errIs = process.getErrorStream();
              while ((read = errIs.read()) != -1) {
                  baos.write(read);
              }
              baos.write('n');
              inIs = process.getInputStream();
              while ((read = inIs.read()) != -1) {
                  baos.write(read);
              }
              byte[] data = baos.toByteArray();
              result = new String(data);
          } catch (IOException e) {
              e.printStackTrace();
          } catch (Exception e) {
              e.printStackTrace();
          } finally {
              try {
                  if (errIs != null) {
                      errIs.close();
                  }
                  if (inIs != null) {
                      inIs.close();
                  }
              } catch (IOException e) {
                  e.printStackTrace();
              }
              if (process != null) {
                  process.destroy();
              }
          }
          return result;
      }  

下面在我们需要的地方调用上面函数即可:

String[] args = { "chmod", "777", "(文件路径)"};
 exec(args);  

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索string
, null
, process
, read
, args
bytearrayoutputstream
android执行linux命令、android执行adb命令、android执行shell命令、android 执行ping命令、android 代码执行命令,以便于您获取更多的相关知识。

时间: 2025-01-19 10:04:21

Android应用中执行Linux命令的相关文章

Erlang中执行linux命令的两种方法_Erlang

os.cmd(Cmd) os模块提供了cmd函数可以执行linux系统shell命令(也可以执行windows命令).返回一个Cmd命令的标准输出字符串结果.例如在linux系统中执行os:cmd("date"). 返回linux的时间. 这种比较简单,一般情况下,也满足了大部分需求. erlang:open_port(PortName, PortSettings) 当os.cmd(Cmd) 满足不了你的需求的时候,就可以用强大的open_port(PortName, PortSett

Android中执行java命令的方法及java代码执行并解析shell命令_Android

android中执行java命令的方法大家都晓得吗,下面一段内容给大家带来了具体解析. android的程序基于java开发,当我们接上调试器,执行adb shell,就可以执行linux命令,但是却并不能执行java命令. 那么在android的shell中是否就不能执行java程序了呢. 答案是否定的.我们可以通过app_process来执行java程序. 写一个hello world吧,就是刚开始学java的时候 写得那个hello world,这次要在android上运行. 用记事本新建

Android中执行java命令的方法及java代码执行并解析shell命令

android中执行java命令的方法大家都晓得吗,下面一段内容给大家带来了具体解析. android的程序基于java开发,当我们接上调试器,执行adb shell,就可以执行linux命令,但是却并不能执行java命令. 那么在android的shell中是否就不能执行java程序了呢. 答案是否定的.我们可以通过app_process来执行java程序. 写一个hello world吧,就是刚开始学java的时候 写得那个hello world,这次要在android上运行. 用记事本新建

Java中通过jsch来连接远程服务器执行linux命令_java

有时候你可能需要通过代码来控制执行linux命令实现某些功能. 针对这类问题可以使用JSCH来实现,具体代码如下: public class CogradientImgFileManager{ private static final Logger log = LoggerFactory.getLogger(CogradientImgFileManager.class); private static ChannelExec channelExec; private static Session

求救,jsch执行linux命令

问题描述 求救,jsch执行linux命令 jsch执行linux命令的时候,表示一直是在根目录下,cd命令执行不了, 这是我的代码,求大神看看是哪里出了错 public class ShellExecuter { private static final int BLOCK_SIZE = 1024; private static Session session; public ShellExecuter(Session session){ this.session=session; } pri

Java程序执行Linux命令

java程序中要执行linux命令主要依赖2个类:Process和Runtime 首先看一下Process类: [plain] view plaincopyprint? ProcessBuilder.start() 和 Runtime.exec 方法创建一个本机进程,并返回 Process 子类的一个实例,   该实例可用来控制进程并获得相关信息.Process 类提供了执行从进程输入.执行输出到进程.等待进程完成.   检查进程的退出状态以及销毁(杀掉)进程的方法.   创建进程的方法可能无法

java执行Linux命令的方法_java

本文实例讲述了java执行Linux命令的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: public class StreamGobbler extends Thread {            InputStream is;      String type;        public StreamGobbler(InputStream is, String type) {          this.is = is;          this.type = ty

broadcast-有关在android代码中调用adb命令发送通知,没有回调onReceive方法问题

问题描述 有关在android代码中调用adb命令发送通知,没有回调onReceive方法问题 大神们,非常谦虚的请教下问题,是这样,我在终端输入adb shell am broadcast -a testBroadcastReceiver --es packageName "you packageName",可以回调onReceive方法,但是当我把该命令写在代码中,同样执行同样的命令,只是用代码实现,就不会调用onReceive,请帮忙解决下~ 解决方案 http://blog.c

7za-php执行linux命令解压文件的问题

问题描述 php执行linux命令解压文件的问题 linux的web目录下有个"pic.7z"压缩包和一个php文件a.php,压缩包中有一张图片 "图片_a.png",a.php文件内容为 "<?php exec('7za x pic.7z -r -y -oaaa');?>". 当我从命令行手输同样的解压命令或者执行php a.php都可以正常将图片解压到aaa目录且图片文件名正确,但是当我从浏览器访问a.php时,虽然也可以将图片