当前位置: 首页 > news >正文

python获取安卓手机的屏幕_[Python]从安卓手机获取屏幕截图

按照惯例首先是准备环境啦:

一、配置adb

1.找到android sdk的本地路径,

adb命令在platform-tool下面,记为XXXX

我的路径是(/Applications/eclipse/android-sdk-mac_x86/platform-tools)

2.打开终端输入

touch .bash_profile

open -e .bash_profile 点回车

3.添加路径.bash_profile打开了,我们在这里添加路径,

如果打开的文档里面已经有内容,我们只要之后添加;XXXX(注意前面一定要用分号隔开),

如果是一个空白文档的话,我们就输入一下内容

export PATH=${PATH}:XXXX

保存,关掉这个文档

4.终端输入命令 source .bash_profile5.终端输入命令 adb点回车,如果未显示command not found,说明此命令有效,环境便亮设置完成

二、识别安卓手机

1.关于本机-->更多信息->概系统览->系统报告->usb->你所连接的device-->供应商ID(Vendor ID)

2 找到 供应商ID后 终端执行如下命令(0x1ebf为对应的Vendor ID):

echo 0x1ebf >> ~/.android/adb_usb.ini

adb kill-server adb start-server

adb devices 至此adb就可连接上你的手机了

三、使用adb shell

adb截屏

adb shell /system/bin/screencap -p /sdcard/screenshot.png(保存到SDCard)

adb pull /sdcard/screenshot.png /Users/guojie/Desktop/screenshot.png(保存到电脑)

承接上文[Python]从安卓手机获取屏幕截图

首先准备好环境,然后就是adb shell啦

adb视频

adb shell screenrecord /sdcard/123.mp4(保存到SDCard)

adb pull /sdcard/123.mp4 /Users/guojie/Desktop/123.mp4(保存到电脑)

输入 --time-limit N,限制视频录制时间为N秒。如果不限制,默认180秒。

输入 --size NN,限制录制视频分辨率为NN。如果未指定,默认使用手机的分辨率。

输入 --bit-rate,指定视频的比特率为6Mbps。如果不指定,默认为4Mbps。

某些设备可能无法直接录制,原因是分辨率太高。如果遇到此类问题,系统将自行指定较低的分辨率。

注意:不支持录制过程中屏幕旋转,如果录制过程中旋转,有可能画面被切断。

无法同步录制音频。

小记 adb shell 还可以做好多东西,大家根据需要来自行开发啦

相关文章:

  • rust编程之道 pdf_哪种编程语言又快又省电?有人对比了27种语言
  • python判断一个元素是否在列表中_python判断元素在列表中是否存在
  • python中的可视化工具_Python中常用的可视化工具 Matplotlib 简单入门
  • it项目经理带一个项目的完整_项目经理,一个完整的项目管理流程你做对了吗?...
  • dll 调用exe_盘点RUNDLL32.EXE的多种滥用方式及检测特征
  • python安装launcher要选吗_python的launcher用法知识点总结
  • 怎么用geany配置python_Geany中怎么配置python?
  • python判断按键是否按下_python怎样判断字典中的键是否存在
  • elasticsearch_Spring Boot 整合 Elasticsearch
  • java switch支持的数据类型_Java十四天零基础入门-Java关键字
  • flask框架_开发中Django和Flask框架的区别是什么?
  • 无法从命令行或调试器启动服务.必须首先_Emacs 调试秘籍之 GUD 调试器
  • googlenet网络结构_图像处理必读论文之五GoogLeNet-3
  • 编写tcp服务器发送hex格式_恶意程序编写之免杀基础
  • webgis从基础到开发实践_WebGIS开发进阶练手题(二)
  • JavaScript 如何正确处理 Unicode 编码问题!
  • python3.6+scrapy+mysql 爬虫实战
  • “Material Design”设计规范在 ComponentOne For WinForm 的全新尝试!
  • ES2017异步函数现已正式可用
  • ES6语法详解(一)
  • exif信息对照
  • Java程序员幽默爆笑锦集
  • js算法-归并排序(merge_sort)
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • 从零搭建Koa2 Server
  • 从输入URL到页面加载发生了什么
  • 大快搜索数据爬虫技术实例安装教学篇
  • 使用权重正则化较少模型过拟合
  • 微服务入门【系列视频课程】
  • 学习使用ExpressJS 4.0中的新Router
  • Prometheus VS InfluxDB
  • Spring Batch JSON 支持
  • 阿里云ACE认证之理解CDN技术
  • #QT(一种朴素的计算器实现方法)
  • %3cscript放入php,跟bWAPP学WEB安全(PHP代码)--XSS跨站脚本攻击
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (42)STM32——LCD显示屏实验笔记
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (pytorch进阶之路)扩散概率模型
  • (rabbitmq的高级特性)消息可靠性
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • (转) Android中ViewStub组件使用
  • (转)四层和七层负载均衡的区别
  • **PHP分步表单提交思路(分页表单提交)
  • .naturalWidth 和naturalHeight属性,
  • .NET Core 2.1路线图
  • .net core 依赖注入的基本用发
  • .NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划
  • .Net 中Partitioner static与dynamic的性能对比
  • .NET 中的轻量级线程安全
  • .NET微信公众号开发-2.0创建自定义菜单
  • .net最好用的JSON类Newtonsoft.Json获取多级数据SelectToken
  • @Transaction注解失效的几种场景(附有示例代码)