Android Runtime.getRuntime().exec("su")java.io.IOException:权限被拒绝 [英] Android Runtime.getRuntime().exec("su") java.io.IOException: Permission denied

查看:959
本文介绍了Android Runtime.getRuntime().exec("su")java.io.IOException:权限被拒绝的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我使用此代码时:

process = Runtime.getRuntime().exec("su");
os = new DataOutputStream(process.getOutputStream());

总是有错误,有什么想法吗?在android虚拟设备上运行

there is always an error, any ideas? Running on an android virtual device

W/System.err(3211): java.io.IOException: Error running exec(). Command: [su] Working Directory: null Environment: null
W/System.err(3211):     at java.lang.ProcessManager.exec(ProcessManager.java:211)
W/System.err(3211):     at java.lang.Runtime.exec(Runtime.java:174)
W/System.err(3211):     at java.lang.Runtime.exec(Runtime.java:247)
W/System.err(3211):     at java.lang.Runtime.exec(Runtime.java:190)
W/System.err(3211):     at com.example.executeandroidtest.ShellUtils.execCommand(MainActivity.java:661)
W/System.err(3211):     at com.example.executeandroidtest.MainActivity$3.run(MainActivity.java:410)
W/System.err(3211):     at java.lang.Thread.run(Thread.java:818)
W/System.err(3211): Caused by: java.io.IOException: Permission denied
W/System.err(3211):     at java.lang.ProcessManager.exec(Native Method)
W/System.err(3211):     at java.lang.ProcessManager.exec(ProcessManager.java:209)
W/System.err(3211):     ... 6 more

推荐答案

由以下原因引起:java.io.IOException:权限被拒绝

Caused by: java.io.IOException: Permission denied

  1. 找到su所在的位置,例如:/system/xbin/su
  2. 检查su的文件权限:ls -al /system/xbin/su
  3. 如有必要,请更改mod:chmod 4755 su
  4. 再试一次.
  1. find where su is, for instance: /system/xbin/su
  2. check su's file permission: ls -al /system/xbin/su
  3. change mod if necessary: chmod 4755 su
  4. try again.

这篇关于Android Runtime.getRuntime().exec("su")java.io.IOException:权限被拒绝的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆