手机是MOTO XT800的,已经有root权限了.        Process p = Runtime.getRuntime().exec("cat /dev/graphics/fb0");
         InputStream is = p.getInputStream();
        byte[] buff = new byte[1024];
int nb = is.read(buff);问题是怎么nb的值永远都是-1....难道无法读取?

解决方案 »

  1.   

    用ndk吧,java执行这个,我从来没成功过,屏幕截图很简单的,我做过哈哈
      

  2.   

    刚学这个。。环境刚搭好,eclipse都才刚学...NDK更不会了
      

  3.   

    刚看了下donut的inputStream
    貌似它就是个stub,根本就没实现功能。
    也就是说这个InputStream只是放那占茅坑的,它拉不了屎
      

  4.   

    截屏不用root吧?
    http://ruixiazun.blog.163.com/blog/static/9068791820108761652311/
    类似的帖子有很多
      

  5.   

    使用C/C++把,java那东西只能作GUI,呵呵
      

  6.   

    越来越觉得c++强大,JAVA太脆弱了
      

  7.   

    你好。我用你的方法在平板电脑上面可以获取
    buff===[B@4c2d8ab0
     nb===1024但是下面的代码不会写。你能贴一下吗万分感谢!
      

  8.   

    即使你root了,但是java的进程也是普通用户,感觉可能没有权限读fb