投屏:scrcpy,慕享
文件管理:handshaker
远程协助:todesk
安卓模拟器:mumu,genymotion,android studio emulator
iphone与mac协作:tidevice,airserver

scrcpy


官方地址

安装scrcpy

  • mac
    brew install scrcpy
    
  • brew 安装的scrcpy 在Android 12上报错
    需要安装最新版本,可参考Build scrcpy
# runtime dependencies
brew install sdl2 ffmpeg libusb

# client build dependencies
brew install pkg-config meson
git clone https://github.com/Genymobile/scrcpy
cd scrcpy
./install_release.sh

如果出现如下错误,[scrcpy] Verifying prebuilt server..../install_release.sh: line 11: sha256sum: command not found,需要执行brew install coreutils

  • win
    1. 安装包安装
    2. win上的包管理工具安装: chocolateyscoop
    choco install scrcpy
    scoop install scrcpy
    

常用命令(mac)

  1. 运行scrcpy
  2. 限制分辨率scrcpy --max-size 1024scrcpy -m 1024
  3. 调整码率scrcpy --bit-rate 2Mscrcpy -b 2M(默认码率是 8M,码率越高,画质越好,同时延迟越大,可自行调整)

通过限制分辨率和码率,可以减少延迟,尤其是无线连接手机时效果更佳

  1. 限制FPS scrcpy --max-fps 15 (仅安卓10开始支持)
  2. 多设备连接scrcpy --serial 0123456789abcdefscrcpy -s 0123456789abcdef
  3. 窗口控制
    • 窗口置顶scrcpy --always-on-top
    • 窗口无边框scrcpy --window-borderless
    • 全屏scrcpy --fullscreenscrcpy -f
    • 旋转scrcpy --rotation 1 (0不旋转,1 90度逆转,2 180度 3 90度顺转)
    • 锁定方向scrcpy --lock-video-orientation 0 (0123 同上)
  4. 显示控制
    • 保持唤醒scrcpy --stay-awakescrcpy -w
    • 显示触控点scrcpy --show-touchesscrcpy -t (虽然在开发者选项中可以开启,但是这个命令会在投屏时显示,退出则恢复)
  5. 文件传输 scrcpy --push-target /sdcard/foo/bar/
  6. 指定特定的adb ADB=/path/to/adb scrcpy

这里仅列举部分,其他平台及更多命令可参看官方readme文档

  1. 手机操作常用命令(scrcpy --help查看更多):
    • command + h:回到桌面
    • command + p:电源键,唤醒手机或锁屏
    • command + s:切换应用(我这不是很管用),使用鼠标从手机底部向上滑动的手势来切换即可
    • command + b:返回上一层(我这不生效),使用“鼠标右键”可以返回上一层
    • 鼠标右键:亮屏时起到返回上一层的作用,锁屏时起到点亮屏幕的作用

掌握以上几个命令,基本就不用触碰手机来操作手机了
也可以使用adb shell input keyevent xxx(xxx为具体操作对应的数字) 来操作手机,关于keyevent可参看官方文档ADB-keyevent命令

  1. 录屏
scrcpy --record test.mp4
scrcpy -r test.mp4
  • 不开启实时镜像显示的录屏
scrcpy --no-display --record test.mp4
scrcpy -Nr test.mp4

第三方应用慕享投屏


handshaker


Mac上管理你在 Android 手机内容

远程协助工具ToDesk


安卓模拟器


mumu模拟器

genymotion模拟器

android studio emulator

快速启动emulator

  1. win
    新建.bat文件,内容写入
    [emulator.exe路径] -netdelay none -netspeed full -avd [模拟器名字]
    
    • -netdealy none网络延迟配置为无
    • -netspeed full网络速度全速

如我的是C:\Users\monkey_jerry\AppData\Local\Android\Sdk\emulator\emulator.exe -netdelay none -netspeed full -avd Nexus_5_API_29

  1. mac
    添加环境变量,在~/.bash_profile中添加如
    # emulator
    export ANDROID_SDK_ROOT=~/Library/Android/sdk/
    export PATH=$PATH:$ANDROID_SDK_ROOT/emulator:$ANDROID_SDK_ROOT/tools
    
    $  emulator -list-avds
    Pixel_2_API_30
    Pixel_API_28
    $ emulator @Pixel_2_API_30
    

iphone与mac协作

tidevice

如工作中可能需要手机截图可快速使用如下命令tidevice screenshot filename,更多详细安装及使用方式,可进一步参看tidevice的使用

AirServer

  • AirServer下载
  • AirServer 是一款 Airplay Mac屏幕镜像应用,AirServer可以通过 mac 实时接收iPhone、iPad以及Android设备的实时屏幕画面
  • 将手机和mac连接在同一网络下,手机的「屏幕镜像」即可搜索到mac电脑,连接即可

ScreenRecorder for iOS

brew install mint
mint install itaybre/screenrecorder

安装失败,卸载mint再重新来一遍

  • 使用
$ screenrecorder -h
USAGE: record-command [--verbose] [--udid <udid>] --output <output> [--fps <fps>] [--quality <quality>]

OPTIONS:
  -v, --verbose           Enable verbose mode
  -u, --udid <udid>       Device's UDID
  -o, --output <output>   Output file
  -f, --fps <fps>         Video FPS (default: 60)
  -q, --quality <quality> Video Quality [low/medium/high] (default: high)
  -h, --help              Show help information.

使用示例:

$ screenrecorder -o 11.mp4
No device selected, using first device detected
Waiting for device...
Device found: iPhone
GVA encoder info: recomputed for fps: 60.000000, gop size in pics: 60, gop size in sec: 1.000000
Did start recording
^CStopping recording...
Did finish recording