Android Runtime.getRuntime().exec("su")java.io.IOException:权限被拒绝 [英] Android Runtime.getRuntime().exec("su") java.io.IOException: Permission denied
本文介绍了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
- 找到su所在的位置,例如:
/system/xbin/su
- 检查su的文件权限:
ls -al /system/xbin/su
- 如有必要,请更改mod:
chmod 4755 su
- 再试一次.
- find where su is, for instance:
/system/xbin/su
- check su's file permission:
ls -al /system/xbin/su
- change mod if necessary:
chmod 4755 su
- try again.
这篇关于Android Runtime.getRuntime().exec("su")java.io.IOException:权限被拒绝的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文