小弟,多谢各位大神的关注!问题已经解决了。 我之前的操作是,连续写了两条命令,导致不能在/sys/class/gpio下不能导出相应的gpio文件: static Process process = null; DataOutputStream dos = null; process = Runtime.getRuntime().exec("su"); dos = new DataOutputStream(process.getOutputStream()); dos.writeBytes("echo 74 > /sys/class/gpio/export"+"\n"); dos.writeBytes("echo 1 > /sys/class/gpio/gpio74/direction"); dos.flush(); dos.close(); 据个人现阶段的认识,dos.write(),只能一条一条的写命令,且每次写命令之前都需重新获得root权限。 所以,我将上面两条写入命令分开就能成功了。代码如下: static Process process = null; DataOutputStream dos = null; process = Runtime.getRuntime().exec("su"); dos = new DataOutputStream(process.getOutputStream()); dos.writeBytes("echo 74 > /sys/class/gpio/export"+"\n"); dos.flush(); dos.close(); process = Runtime.getRuntime().exec("su"); dos = new DataOutputStream(process.getOutputStream()); dos.writeBytes("echo 1 > /sys/class/gpio/gpio74/direction"); dos.flush(); dos.close();
这个具体是怎么回事呢? 可以说的明白一点吗? 不懂linux对文件的读写都需要文件夹的权限,特别是系统文件,所以你先一步步检查
这个具体是怎么回事呢? 可以说的明白一点吗? 不懂linux对文件的读写都需要文件夹的权限,特别是系统文件,所以你先一步步检查我在/sys/class/gpio 下执行 echo 74 > /sys/class/gpio/export 命令,可以得到gpio74这个文件,说这个文件是具有可写权限的
我之前的操作是,连续写了两条命令,导致不能在/sys/class/gpio下不能导出相应的gpio文件:
static Process process = null;
DataOutputStream dos = null;
process = Runtime.getRuntime().exec("su");
dos = new DataOutputStream(process.getOutputStream());
dos.writeBytes("echo 74 > /sys/class/gpio/export"+"\n");
dos.writeBytes("echo 1 > /sys/class/gpio/gpio74/direction");
dos.flush();
dos.close();
据个人现阶段的认识,dos.write(),只能一条一条的写命令,且每次写命令之前都需重新获得root权限。
所以,我将上面两条写入命令分开就能成功了。代码如下:
static Process process = null;
DataOutputStream dos = null;
process = Runtime.getRuntime().exec("su");
dos = new DataOutputStream(process.getOutputStream());
dos.writeBytes("echo 74 > /sys/class/gpio/export"+"\n");
dos.flush();
dos.close();
process = Runtime.getRuntime().exec("su");
dos = new DataOutputStream(process.getOutputStream());
dos.writeBytes("echo 1 > /sys/class/gpio/gpio74/direction");
dos.flush();
dos.close();
谢谢楼上的,最近看了些关于TCP打洞的资料,要实现TCP打洞,需复用或重用本地端口,我在复用端口的时候一直提示出错,很是纠结、郁闷