【发布时间】:2011-09-09 02:18:13
【问题描述】:
我正在使用模拟器。所以绝对我有root权限。 我使用命令:
adb pull /dev/graphics/fb0 d:/a
然后用我的程序读取这个文件并生成一个bmp。这是成功的。但是当我使用纯java代码来做到这一点时:
Process process = Runtime.getRuntime().exec("su -c cat /dev/graphics/fb0");
process.waitFor();
InputStream is = process.getInputStream();
is.read(buffer, 0, width*height*2);
缓冲区无法获取正确的数据。数据全部为0,正确的是前几行的0xFF。
然后我尝试了:
adb shell
cat /dev/graphics/fb0 > /sdcard/tmp
tmp 文件也得到了正确的数据。 为什么纯java代码失败了?是不是我使用 Process 类的方式不对?
【问题讨论】: