【ADB命令行】adb shell screenrecord命令行使用说明

一、查看帮助命令,参数 --help
D:\>adb shell screenrecord --help
Usage: screenrecord [options] <filename>
 
Android screenrecord v1.2.  Records the device's display to a .mp4 file.
 
Options:
--size WIDTHxHEIGHT
    Set the video size, e.g. "1280x720".  Default is the device's main
    display resolution (if supported), 1280x720 if not.  For best results,
    use a size supported by the AVC encoder.
--bit-rate RATE
    Set the video bit rate, in bits per second.  Value may be specified as
    bits or megabits, e.g. '4000000' is equivalent to '4M'.  Default 4Mbps.
--bugreport
    Add additional information, such as a timestamp overlay, that is helpful
    in videos captured to illustrate bugs.
--time-limit TIME
    Set the maximum recording time, in seconds.  Default / maximum is 180.
--verbose
    Display interesting information on stdout.
--help
    Show this message.
 
Recording continues until Ctrl-C is hit or the time limit is reached.

1 开始录制命令:

adb shell screenrecord /sdcard/demo.mp4

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

screenrecord是一个shell命令,支持Android4.4(API level 19)以上,支持视频格式: mp4


2 指定视频分辨率大小,参数 --size

adb shell screenrecord --size 1280*720 /sdcard/demo.mp4

说明:录制视频,分辨率为1280*720,如果不指定默认使用手机的分辨率,为获得最佳效果,请使用设备上的高级视频编码(AVC)支持的大小

3 指定视频的比特率, 参数  --bit-rate

adb shell screenrecord --bit-rate 6000000 /sdcard/demo.mp4
说明:指定视频的比特率为6Mbps,如果不指定,默认为4Mbps. 你可以增加比特率以提高视频质量或为了让文件更小而降低比特率

4 旋转90度,参数: --rotate

adb shell screenrecord --rotate /sdcard/demo.mp4
说明:此功能为实验性的,在nexus6设备上实验,录制的视频播放时也是旋转90度播放,体验不太友好。

5 导出视频:

adb pull /sdcard/demo.mp4 D:/
说明:导出视频的位置在D盘根目录下,名称为demo.mp4

二、DDMS中使用录制功能

1.命令行中使用DDMS,打开Android DDMS(monitor.bat)工具

2.打开android手机(Android4.4及以上机型)的调试模式,使用USB连接手机,DDMS界面Name中出现手机型号及online的状态

3.Device-->Screen Record,弹出设置页面,设置视频的比特率,和视频的分辨率以及存储路径,点击OK

4.操作手机测试场景,完毕后,点击Cannel按钮,等待几秒后,会弹出提示保存成功。



【APP中调用shell脚本】

关键代码:

public static void doCmds(List cmds) throws Exception {
        Process process = Runtime.getRuntime().exec("su");
        DataOutputStream os = new DataOutputStream(process.getOutputStream());

        for (String tmpCmd : cmds) {
                os.writeBytes(tmpCmd+"\n");
        }

        os.writeBytes("exit\n");
        os.flush();
        os.close();

        process.waitFor();
    }  


 

eg.在button的click事件调用:

this.btn=(Button) super.findViewById(R.id.btn);
        this.btn.setOnClickListener(new OnClickListener() {
   
   @Override
   public void onClick(View v) {
    List cmds=new ArrayList();
    cmds.add("reboot");  
    try {
     MainActivity.doCmds(cmds);
    } catch (Exception e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
    }
   }
  });


 

点击按钮后,系统会重启哦。

--------------------------

前提:手机root完,允许root权限。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值