liangjun7
liangjun7
2017-04-08 06:28

android 在电脑端用adb shell 命令以su用户登录后用screencap截图时为空白

180
  • android
  • 截图
  • adb shell命令

各位大牛好,
我用华为手机荣耀4A,android 5.1,接入电脑后,使用adb shell命令 screencap -p mnt/sdcard/Zpic/Test1.png 进行截图时,如果不以SU超级用户登录,状态是$,可以正常截到图片,但我以su超级用户登录后,此时变成ROOT状态下的手机,再用此命令截图时就是空白,大小只显示3.58KB.如下两图:
图片说明
图片说明

                        我在JAVA里面用代码执行时用SU以ROOT状态截取图片,得到的也只是3.58KB大小的图片,打开时只有空白,代码如下:

            public  void getScreenshot(){
    Process process = null;
    String filePath = "mnt/sdcard/Zpic/" + System.currentTimeMillis() + ".txt";
    try {
        process = Runtime.getRuntime().exec("su");
        PrintStream outputStream;
        outputStream = new PrintStream(new BufferedOutputStream(process.getOutputStream(), 8193));
        outputStream.println("screencap -p " + filePath);
        outputStream.flush();
        outputStream.close();
        process.waitFor();

    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        if(process != null){
            process.destroy();
        }
    }
}

我想以ROOT状态时也能截到正常的图片,或在代码中用此命令截到正常的图片, 请各位大神指点一二,谢谢!

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

1条回答