前言

在平时开发过程中,我们经常需要截图和录制视频,尤其是客户端开发和测试。

可能有一些人的姿势是这样的。在电脑上开个模拟器,使用第三方工具后进行截图和录屏。还有一种最原始的方式,在手机上截图和录制视频,然后再通过 QQ 等工具发送到电脑,这多累呀。

其实,有一种很简便的方式,那就是说通过别名和 adb,一个简单命令,让你快速截图和录制视频,如 adbshot, adbrecord。下面让我们一起来看一下,怎么实现?

adb 命令和录制视频

adb 命令截图

第一种方法

#(保存到SDCard)
adb shell /system/bin/screencap -p /sdcard/screenshot.png
# 从SD卡导出到电脑,注意/Users/junxu 为电脑路径,必须存在
adb pull /sdcard/screenshot.png /Users/junxu

如果你想删除手机上的图片,那么你可以使用这个命令来删除

adb shell rm /sdcard/screen.png

开始录制命令:

adb shell screenrecord --time-limit 10 /sdcard/demo.mp4

说明:录制手机屏幕,视频格式为mp4,存放到手机sd卡里,默认录制时间为180s

mac 设置别名

1、基本语句

alias lts ="cd /Users/junxu/Desktop/sh"

2、修改文件

vi ~/.bash_profile

加入 alias lts="cd /data"

保存

3、使别名命令生效

source ~/.bash_profile

4、在命令行输入lts 就可以达成 cd /Users/junxu/Desktop/sh的效果

配合别名,快速截图和录屏

截图

增加截图别名

alias adbshot="sh /Users/junxu/Desktop/sh/shot.sh"

截图 SH 脚本

#!/bin/bash
# Android截图,定位和预览默认开启,如果想关闭,可以注释 echo "第一个参数为:$1"; dd=`date +%Y-%m-%d-%H-%M-%S`
pwd=`pwd`
adb shell screencap -p /sdcard/screenshot.png
adb pull /sdcard/screenshot.png
adb shell rm /sdcard/screenshot.png
mv screenshot.png $dd.png
echo "截图已保存为当前目录下的"$pwd$dd.png
# 修改图片尺寸,长或宽最大不超过960,等比缩放
echo "压缩图片..."
sips -Z 960 $pwd/$dd.png
# 定位到文件
open ./$dd.png -R
# 打开预览
open -a Preview $dd.png
# 复制到剪切板
osascript -e 'on run args' -e 'set the clipboard to POSIX file (first item of args)' -e end $pwd/$dd.png
echo "截图已复制到剪切板"

记得给 SH 脚本增加可执行权限。

chmod +x /Users/junxu/Desktop/sh/shot.sh

录屏

增加录屏别名

alias adbrecord="sh /Users/junxu/Desktop/sh/record.sh"

录屏脚本

#!/bin/bash
# Android录屏
time=$1 if [ ! $time ]; then
time=5
echo "IS NULL"
else
echo "NOT NULL"
fi dd=`date +%Y-%m-%d-%H-%M-%S`"-$time"
echo "dd is $dd"
pwd=`pwd`
adb shell screenrecord --time-limit $time /sdcard/screenrecord.mp4
adb pull /sdcard/screenrecord.mp4
adb shell rm /sdcard/screenrecord.mp4
mv screenrecord.mp4 $dd.mp4
echo "$1秒视频已保存为当前目录下的"$dd.mp4
# 定位到文件
open ./$dd.mp4 -R
# 复制到剪切板
osascript -e 'on run args' -e 'set the clipboard to POSIX file (first item of args)' -e end $pwd/$dd.mp4
echo "$1秒视频已复制到剪切板"

记得给 SH 脚本增加可执行权限。

chmod +x /Users/junxu/Desktop/sh/record.sh

其他常用 adb 常用别名

alias adbtop="adb shell dumpsys activity top | grep "ACTIVITY" "
alias adbd="adb devices"
alias adbs="adb shell"

小结

写这篇文章的目的,是想告诉大家,有别名这个概念。对于开发者来说,配置一些自己常用的别名,真的是很方便,可以快速提高效率。大家如果觉得不错的话,可以关注我的微信公众号程序员徐公

  1. 公众号程序员徐公回复黑马,获取 Android 学习视频
  2. 公众号程序员徐公回复徐公666,获取简历模板,教你如何优化简历,走进大厂
  3. 公众号程序员徐公回复面试,可以获得面试常见算法,剑指 offer 题解
  4. 公众号程序员徐公回复马士兵,可以获得马士兵学习视频一份

程序员该如何写好自己的简历,一位 5 年中大厂老哥跟你聊聊

我的 5 年 Android 学习之路,那些年一起踩过的坑

Android 启动优化(七) - JetPack App Startup 使用及源码浅析

Android 启动优化(六)- 深入理解布局优化

巧用别名和 sh 脚本,adb 快速截图和录屏,提高你的效率的更多相关文章

  1. linux服务器监控流量sh脚本

    服务器可能经常遇到服务器出带宽跑满,不知如何查询被哪个进程占用的情况,有一款开源的英文软件iftop功能比较强大可以查询相关信息,可能刚接触linux系统的朋友不太会使用,在此写了一个功能比较简单无需 ...

  2. sh脚本异常:/bin/sh^M:bad interpreter: No such file or directory

    在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory. 分析:这是不同系统编码格式引起的:在windows系统中 ...

  3. linux执行sh脚本文件命令

    linux执行sh脚本文件命令 很多时候需要多个命令来完成一项工作,而这个工作又常常是重复的,这个时候我们自然会想到将这些命令写成sh脚本,下次执行下这个脚本一切就都搞定了,下面就是发布代码的一个脚本 ...

  4. .sh脚本判断判断某一变量是否为某一数值

    .sh脚本中,判断某一变量(例如:OEM_CUSTOMER_SUPPORT)是否为某一数值(例如:0),并根据条件做不同处理,写法如下: if [ $OEM_CUSTOMER_SUPPORT -eq  ...

  5. sh脚本学习之: sh脚本 、sed、awk

    sh脚本 sh命令的批处理文件,支持更复杂的逻辑. Shell中的变量 参数 $0 当前脚本路径 $1....$n 脚本执行对应的第n个参数 条件判断 文件判断 test [op] path e存在 ...

  6. 安装GRID时跑root.sh脚本报错(ORA-27091: unable to queue I/O)

    在安装GRID过程中,运行root.sh脚本时报如下信息: Adding Clusterware entries to upstart CRS-2672: Attempting to start 'o ...

  7. sh脚本异常:bad interpreter: No such file or directory

    转:http://bluedest.iteye.com/blog/1674963 在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file o ...

  8. ubuntu sh脚本双击运行

    自从13.04以后,双击sh脚本文件就已经默认是geidt打开了,要想运行,从nautilus-->文件-->首选项-->行为-->可执行文件 有三个选项,默认是第二个,如果想 ...

  9. sh脚本执行Java程序

    1.不引用Jar包或者资源文件夹 最简单的程序Hello World. 首先创建Hello.java public class Hello { public static void main(Stri ...

  10. rac_进行grid自检时提示运行runfixup.sh脚本一例

    原创作品,出自 "深蓝的blog" 博客,欢迎转载,转载时请务必注明下面出处,否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlo ...

随机推荐

  1. logmein

    打开以后发现就是简单的字符串操作 关键比较 其中v7出按r转成字符 然后写出脚本进行操作 但是最后输出的结果不太对的样子 看了wp才知道以LL结尾的那个地方转为字符串以后要逆序操作,即字符串在内存中是 ...

  2. 从零开始学习Python

    从零开始学习Python是一个令人兴奋和有趣的过程.无论你是完全没有编程经验,还是已经熟悉其他编程语言,Python都可以成为你迈向程序员之路的理想起点. 首先,在开始学习之前,请确保在计算机上安装了 ...

  3. 2022.7.15 jiazhaopeng 讲课纪要

    前言 由于难度仍然过高,难度再次下调,这节课主要在水绿.这节课讲的是并查集,之所以是以绿题为主是因为上了绿之后的题有一大半都要结合别的东西,初中生不会,所以只能讲的简单一点. ORZ%%% jzp学长 ...

  4. Vite 5.0有哪些新变化?

    Rollup 4 Vite 现在使用 Rollup 4,它也带来了一些重大的变化,特别是: 导入断言(assertions 属性)已被重命名为导入属性(attributes 属性). 不再支持 Aco ...

  5. 关于微信小程序中如何实现数据可视化-echarts动态渲染

    移动端设备中,难免会涉及到数据的可视化展示.数据统计等等,本篇主要讲解原生微信小程序中嵌入echarts并进行动态渲染,实现数据可视化功能. 基础使用 首先在GitHub上下载echarts包 地址: ...

  6. 图文剖析 big.js 四则运算源码

    big.js,一个小型.快速的用于任意精度的十进制算术的JavaScript 库. big.js 用于解决平常项目中进行算术运算时精度丢失引起的结果不准确的问题.和 big.js 类似的两个库 big ...

  7. [GDOIpj221D] 小学生计数题

    第四题 小学生计数题 提交文件: counting.cpp 输入文件: counting.in 输出文件: counting.out 时间空间限制: 1 秒, 256 MB 作为 GDOI 的组题人, ...

  8. [CSP-S 2023] 密码锁

    题目描述 小 Y 有一把五个拨圈的密码锁.如图所示,每个拨圈上是从 \(0\) 到 \(9\) 的数字.每个拨圈都是从 \(0\) 到 \(9\) 的循环,即 \(9\) 拨动一个位置后可以变成 \( ...

  9. 使用C#如何监控选定文件夹中文件的变动情况?

    目录 1.前言 2.效果 3.具体实现 ​ 页面设计 ​ 全部代码 ​ FileSystemWatcher的介绍 ​ FileSystemWatcher的构造函数 ​ FileSystemWatche ...

  10. 通过 KernelUtil 截取 QQ / TIM 客户端 ClientKey 详细教程

    前言 众所周知,由于最新版本 QQ 9.7.20 已经不能通过模拟网页快捷登录来截取 Clientkey,估计是针对访问的程序做了限制,然而经过多方面测试,诸多的地区.环境.机器也针对这种获取方法做了 ...