加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

运行Shell命令虽然在Android上的java代码?

发布时间:2020-12-15 19:09:10 所属栏目:安全 来源:网络整理
导读:我有一个应用程序,应该使用一些shell命令将文件从sdcard复制到/ system / media /。它将需要root,我正在根深蒂固的设备上进行测试。我使用运行时执行shell命令,但它不工作。 这是我的运行时间 public void RunAsRoot{String[] commands = {"sysrw","rm /d
我有一个应用程序,应该使用一些shell命令将文件从sdcard复制到/ system / media /。它将需要root,我正在根深蒂固的设备上进行测试。我使用运行时执行shell命令,但它不工作。
这是我的运行时间
public void RunAsRoot{String[] commands = {"sysrw","rm /data/local/bootanimation.zip","sysro"};{
    Process p = Runtime.getRuntime().exec("su");
    DataOutputStream os = new DataOutputStream(p.getOutputStream());            
    for (String tmpCmd : commands) {
    os.writeBytes(tmpCmd+"n");
    }           
    os.writeBytes("exitn");  
    os.flush();
}

但是我的logcat只显示其中两个没有被拒绝

07-30 03:14:11.112: WARN/su(3593): request rejected (10047->0 /system/bin/sh)
07-30 03:14:11.132: DEBUG/su(3592): 10047 com.bba.stormdroid executing 0 /system/bin/sh using shell /system/bin/sh : sh
07-30 03:14:11.152: WARN/su(3594): request rejected (0->0 /system/bin/sh)
07-30 03:14:11.182: WARN/su(3595): request rejected (0->0 /system/bin/sh)
07-30 03:14:11.202: WARN/su(3596): request rejected (0->0 /system/bin/sh)
07-30 03:14:11.242: DEBUG/su(3597): 10047 com.bba.stormdroid executing 0 /system/bin/sh using shell /system/bin/sh : sh

这两个看起来是sysrw和sysro命令,但是当我触发这个代码时,应用程序仍然要求root权限。
我是新来的根本的东西,我似乎无法弄清楚如何让这个工作。

要运行root命令,您必须使用以下格式:
public void RunAsRoot(String[] cmds){
            Process p = Runtime.getRuntime().exec("su");
            DataOutputStream os = new DataOutputStream(p.getOutputStream());            
            for (String tmpCmd : cmds) {
                    os.writeBytes(tmpCmd+"n");
            }           
            os.writeBytes("exitn");  
            os.flush();
}

传递一个字符串数组,每个字符串是需要执行的命令。例如:

String[] commands = {"sysrw","sysro"};

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读