liangjun7
2017-04-08 06:28android 在电脑端用adb shell 命令以su用户登录后用screencap截图时为空白
180各位大牛好,
我用华为手机荣耀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条回答
为你推荐
- cmd运行adb命令可以执行,pycharm运行提示adb' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
- python
- android
- 2个回答
- adb push提示电脑文件无法找到的解决办法
- android
- 2个回答
- adb reboot走的是什么流程?
- android
- 开关机流程
- 2个回答
- ADB的server源码中处理devices命令的部分在哪里?
- 源码
- adb
- 1个回答
- android系统层代码是如何执行pc发送过来的adb命令的
- android
- adb
- 框架
- 1个回答
换一换