开发板上有个三色灯,想通过app控制。理论上往/sys/class/leds/red/brightness文件中写入相应的值就可以。事实上通过adb连接后在终端里面可以通过命令echo 123 > /sys/class/leds/red/brightness写入。但是问题是通过如下代码却不能成功: Process p = Runtime.getRuntime().exec("su"); DataOutputStream os = new DataOutputStream(p.getOutputStream()); os.writeBytes("echo 123 > /sys/class/leds/red/brightness\n"); //java.io.IOException: write failed: EPIPE (Broken pipe) os.flush(); os.writeBytes("exit\n"); os.flush(); 代码在注释处抛出异常。什么情况,求解答! |
|
20分 |
楼主,问题解决了吗?我也遇到同样的问题啊,求指导“““
|
20分 |
p.waitFor();
可能是Process p = Runtime.getRuntime().exec(“su”);尚未执行完导致的;加上这句试试? |
其实就是权限不够,让写驱动改一下那个节点的权限。 |