Android中利用命令行进行截屏并导出到电脑上

声明:本博客为原创博客,未经允许,不得转载!原文链接为http://blog.csdn.net/bettarwang/article/details/27819525

大多数人最常用的截屏方法可能就是利用手机的快捷按键了,但是那样如果要导入到电脑中效率会比较低。实际上有更好的截屏方式,最简单的当然就是利用Eclipse中的DDMS进行截屏了,点击“Screen Capture"按钮后等待10多秒,然后就可直接利用Save按钮保存到电脑中。

显然,由于要进行图片显示的原因,在DDMS中会有一定的延迟,效率还不够高。其实效率最高的方式就是利用命令行来截屏了。用于截屏的shell命令及相关参数的含义为:

screencap [-hp] [-d display-id] [FILENAME]

-h:this message(本条信息)

-p:save the file as a png.(将文件保存为png格式)

-d:specify the display id to capture,default 0.(为本次截屏指定显示编号,默认为0)

If FILENAME ends with .png it will be saved as a png.(如果文件名以.png结尾,它会被保存为png图片)

If FILENAME is not given,the results will be printed to stdout.(如果没有指定文件名(其实是完整的文件路径),那么结果会打印到标准输出中。实际上就是会将图片信息打印到屏幕上,当然是一片乱码。所以最好指定文件名。)

一般来说,-h,-d这两个参数对我们作用不大,-p用到的地方多一些,但是我不建议用-p,原因如下:

比如我们用这么一个命令截图:screencap -p /mnt/sdcard/Pic01,截取的这个图形文件名就是Pic01而不是Pic01.png,这样导出时的命令就变成了adb pull /mnt/sdcard/Pic01 d:/,其中d:/是我们要导出到电脑上的路径,这样我们还要给它添加上后缀。

虽然也可以用screencap -p /mnt/sdcard/Pic01.png的命令,但是显然没有screencap /mnt/sdcard/Pic01.png及

screencap /mnt/sdcard/Pic01.jpg这样的命令方便。

另外有几个值得注意的地方是:第一,如果想将截图放在sdcard中,不一定就是我这样的路径(/mnt/sdcard/),因为这跟底软的实现有关,最好就是到DDMS确认一下;第二,从电脑push APK到手机中是要先remount的,但是从手机中pull文件到电脑上是不需要先remount的;第三,screenshot命令是不能截屏的,我尝试过,导出到电脑上发现是很杂乱很奇怪的图形,有兴趣的童鞋可以验证一下。

上面所有的命令都是我亲自验证的,还有问题的小伙伴就到下面留言吧!

Android中利用命令行进行截屏并导出到电脑上,布布扣,bubuko.com

时间: 2024-12-14 18:48:46

Android中利用命令行进行截屏并导出到电脑上的相关文章

在Linux中利用命令行去传递参数给Python

: 今天在实验楼答题做挑战的时候,遇到个一点都没头绪的题目,链接:https://www.shiyanlou.com/courses/running,题目如上,因为之前没接触到这类型的题目,所以无法入手百度了一下,知道了原来有个sys.argv[]这样的东西用.要从Linux中利用命令行去传递参数给Python文件 1,要先导入系统接口模块import sys 2,再调用系统命令行参数sys.argv,这是一个列表. 索引为0的sys.argv[0]是当前文档的路径,这不是我们想要的.索引为1的

如何设置VMware中Linux命令行环境全屏

在VMware安装Linux后默认屏幕为640×480,如需修改,则请参考以下步骤.以下以CentOS 6.6安装于VMware Workstation 9中为例说明. 1.默认640x480x16,支持绝大部分硬件. 2.登录后,输入"ls /dev"命令并按回车键查看显示结果. 3.输入"vi /etc/grub.conf"并按回车键确定. 4.查询到以"kernel"开头行. 5.按"i"键进入编辑状态,并在"

Android 用adb pull或push 拷贝手机文件到到电脑上,拷贝手机数据库到电脑上,拷贝电脑数据库到手机上

先说一下adb命令配置,如果遇到adb不是内部或外部命令,也不是可运行的程序或批量文件.配置下环境变量 1.adb不是内部或外部命令,也不是可运行的程序或批量文件. 解决办法:在我的电脑-属性-高级计算机配置-环境变量,系统变量找到path,把sdk的platform-tools添加进去就可以了. D:\Java\android\android-sdk\platform-tools 2.用命令行把手机上的文件拷贝到电脑上 adb pull sdcard/1222073679.png 拷贝文件夹命

利用命令行删除Android系统自带应用的方法

一般来说,手机厂家都会在手机中内置许多应用,而这些应用是使用一般的应用程序管理无法删除的.当然,现在有一些APP,如360和豌豆荚,在获取了系统的root权限之后是可以删除自带应用的.但是如果我不想让一个app来获取我的root权限呢?有没有方便.快捷的方法呢? 当然有,那就是利用shell命令.当然,首先要安装当前手机的驱动程序,否则无法进行调试. 在如何删除Android系统中的内置应用一文中作者也介绍了利用命令行删除系统应用的方法,但是个人感觉太麻烦了,其实有更简单的方法,只要三步即可:a

CentOS 6.5 下利用命令行截图及设置快捷键截图

CentOS 6.5 下利用命令行截图及设置快捷键截图 1.利用命令模式 捕获整个屏幕 : $ gnome-screenshot 截完屏之后我们可以设置自定义图片存储位置,如图: 捕获当前终端Terminal : $ gnome-screenshot -w 捕获自定义区域 :$ gnome-screenshot -a 利用-B参数可以去除终端窗口的名称状态条:$ gnome-screenshot -w -B 使用-d参数来延迟截图的时间(仅限于截全屏时使用) :$ gnome-screensho

Android中三种超实用的滑屏方式汇总(转载)

Android中三种超实用的滑屏方式汇总 现如今主流的Android应用中,都少不了左右滑动滚屏这项功能,(貌似现在好多人使用智能机都习惯性的有事没事的左右滑屏,也不知道在干什么...嘿嘿),由于前段时间项目的需要,所以也对其研究了一下,总的来说滑屏实现有三种方式:(至于其他的实现方式目前后还没碰到...) 1.ViewPager 2.ViewFlipper 3.ViewFlow 一.ViewPager 官方文档介绍:http://developer.android.com/reference/

工控随笔_07_西门子_WinCC利用命令行实现操作log日志

在WinCC中可以通过报警纪录来实现操作员纪录,这个需要WinCC的消息系统进行组态和配置. 利用消息系统进行实现上诉功能不但复杂而且时间久啦也不方便查询.那么有没有一种简单的方法来 实现操作员纪录呢? 我们知道在Windows系统中可以通过批处理来实现很多功能,而且操作也比较简单,学习起来也 没有多大的难度.那么我们是否可以Windows的批处理功能来实现日志功能呢? 一.WinCC执行外部程序. 在WinCC中通过 ProgramExecute("notepad.exe"); 函数

Git利用命令行提交代码步骤

利用命令行提交代码步骤进入你的项目目录1:拉取服务器代码,避免覆盖他人代码git pull2:查看当前项目中有哪些文件被修改过git status具体状态如下:1:Untracked: 未跟踪,一般为新增文件,此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged.2:Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作.3:deleted: 文件已删除,本地删除,服务器上还没有删除.4:renamed: 3:将状态改变的代码提交

HDFS中的命令行

HDFS中的命令行 本文介绍了HDFS以命令行执行的时候.几个经常使用的命令行的作用和怎样使用~ 1. fs fs是启动命令行动作,该命令用于提供一系列子命令. 使用形式为hadoop fs –cmd <args> 当中,cmd是子命令,args是详细的命令操作. 比如hadoop fs –help 或者说fs是其余子命令的父亲.其余都是在"-cmd"的模式下的! 2. –cat 输出 hadoop fs –cat URI 将路径指定的文件输出到屏幕 3. –copyFro