在应用程序内部使用shell命令安卓

时间:2017-05-29 15:40:47

标签: java android shell root

我可以使用调用android shell从我的应用程序运行这些命令吗?

SU // Get root
flash_image recovery /sdcard/folder/recovery.img

手机将通过该应用程序进行快速恢复。

有人能帮助我吗?

1 个答案:

答案 0 :(得分:0)

Android Shell命令内部应用

我对Android shell命令了解不多,但您可以看到从应用内部触发的示例shell命令。

  1. 如果您正在处理非返回命令,您只需尝试此

    即可
    // PASS THE COMMAND DIRECTLY, HERE FOR ROOT ACCESS
    Process su = Runtime.getRuntime().exec("su");
    
  2. 如果您的命令返回

    try{
        // GET THE PROCESS RUNTIME AND EXECUTE su COMMAND
        Process su = Runtime.getRuntime().exec("su");
        // CREATE A DATA-STREAM TO STORE RECORDED VIDEOS
        DataOutputStream outputStream = new DataOutputStream(su.getOutputStream());
        // WRITE THE VIDEO USING STREAMS
        outputStream.writeBytes("screenrecord --time-limit 10 /sdcard/MyVideo.mp4\n");
        // CLEAR THE STREAM
        outputStream.flush();
        // APPEND EOF
        outputStream.writeBytes("exit\n");
        outputStream.flush();
        // WAIT A WHILE FOR STABILITY
        su.waitFor();
    }catch(IOException e){
        throw new Exception(e);
    }catch(InterruptedException e){
        throw new Exception(e);
    }
    
  3. 希望这能解决您的问题。