使用Scrcpy 顯示手機畫面並控制手機
原文(有刪改):https://www.iplaysoft.com/scrcpy.html
背景
本文適用於安卓開發人員,不針對普通安卓手機用戶。
在安卓開發調試中,有時候需要操作到設備。但有些設備的屏幕又比較特殊,例如缺少觸摸屏,或者屏幕顯示效果很奇怪。因此需要使用到一些關於投屏工具。
例如: Vysor。
可惜 Vysor Pro 收費較貴,免費版廣告又多。而Scrcpy
就是一個比較好的開源替代品。
特性:
- 屏幕畫面投屏 + 控制軟件
- 跨平台支持 Win、Mac、Linux
- 支持USB 數據線 (或WiFi) 連接電腦
Scrcpy
Scrcpy 可以視為開源免費版的 Vysor 替代品,可以將安卓手機的畫面投屏到電腦桌面顯示上並進行操控。
簡單地說,就是可以讓你在電腦上控制手機!它支持鼠標控制、鍵盤輸入、電腦剪切板復制粘貼、拖放文件傳輸到手機、以及拖放 APK 文件進行安裝。
Scrcpy 實際的投屏效果非常理想,畫面清晰流暢,基本無明顯延遲,相比 Vysor 要付費后才能設置高碼率,Scrcpy 可以自定義視頻碼率這點顯得十分良心。軟件支持自動橫屏,操作很靈敏,實用性非常的高。
你可以方便地利用 Scrcpy 來測試 APP 應用、玩游戲、高效完成一些需要在手機上進行的復雜工作、更高效地辦公;也能更方便地進行 Android 屏幕錄像、截屏;甚至還能方便你上班時摸魚划水。應用場景非常多,無論是開發者還是普通個人用戶都相當的實用。
教程
Scrcpy 是一款命令行工具,沒有圖形界面,但這並不妨礙它成為一款出色好用的開源軟件!其實它的使用也並不復雜。
GUI增強
作為一款如此出色實用的開源軟件,卻因為命令行的操作方式,使得它有不小的使用難度,讓很多同學無法享受到它的便利,實在是遺憾。
為了解決命令行日常操作不便的問題,有熱心的開發者實現了對應的GUI。
- QtScrcpy : https://gitee.com/Barryda/QtScrcpy/releases
- Scrcpy-GUI : https://github.com/Tomotoes/scrcpy-gui/releases
建議使用 Scrcpy-GUI
。
使用 Scrcpy 你無需 ROOT 手機,也不需在手機上安裝 APP,只需在系統設置里啟用“USB調試”( adb 調試) 即可。
連接電腦的方式可選 USB 數據線連接或 ADB 無線 WiFi 連接。
下面我們給大家提供一個 Scrcpy 的簡單使用教程。
准備工作
- 准備好 USB 數據線,安卓系統版本要求 5.0 以上
- Scrcpy 需要使用 adb 驅動進行與電腦之間通訊,Windows 版的安裝包里似乎已經包含了 adb。你也可以手動從下載這個 ADB 命令行工具進行安裝。
- 需要在手機端的系統設置里開啟「開發者選項」及「USB 調試」選項。不同的手機開啟方法不盡相同,找不到選項的話可以自行去搜索一下。
Windows 平台
Windows 用戶直接下載並安裝,連接好數據線后,電腦上執行 scrcpy.exe 即可啟動軟件。首次連接時,手機上會問你是否允許它對設備進行調試,按下確認同意即可。
macOS 平台
Mac 用戶需要使用 HomeBrew 命令進行安裝。其實 HomeBrew 的功能很實用,它可以幫助你非常簡單地一鍵安裝/卸載各種軟件,包括 Scrcpy。
-
安裝 homebrew:
通過命令行 (Terminal) 執行 ,如已安裝可跳過
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
-
安裝 Scrcpy:
(如果網絡太慢,可以考慮
更換 Homebrew 國內源
或使用代理)
brew install scrcpy
-
安裝 ADB:
如果你沒有安裝
ADB 命令行工具
,那么也可以用 brew 來安裝
brew cask install android-platform-tools
-
使用 USB 數據線連接手機后,執行
scrcpy
命令即可啟動軟件。首次連接會在手機上問你是否允許它對設備進行調試,按下確認同意即可。 -
如果你有多台手機連接到電腦,可以執行
adb devices
查看每一台設備對應的ID,然后執行scrcpy -s 設備ID
來連接使用指定的設備。
Linux 平台
Linux 用戶可以參考官網的說明自己編譯安裝。
sudo snap install scrcpy
Scrcpy 命令參數
這些參數可以多個自由組合使用,注意區分大小寫。
Scrcpy 的命令參數 | |
---|---|
關閉手機屏幕 | scrcpy -S |
限制畫面分辨率 | scrcpy -m 1024 (比如限制為 1024) |
修改視頻碼率 | scrcpy -b 4M (默認 8Mbps,改成 4Mbps) |
裁剪畫面 | scrcpy -c 1224:1440:0:0 表示分辨率 1224x1440 並且偏移坐標為 (0,0) |
多設備切換 | scrcpy -s 設備ID (使用 adb devices 命令查看設備ID) |
窗口置頂 | scrcpy -T |
顯示觸摸點擊 | scrcpy -t 在演示或錄制教程時,可在畫面上對應顯示出點擊動作 |
全屏顯示 | scrcpy -f |
文件傳輸默認路徑 | scrcpy --push-target /你的/目錄 將文件拖放到 scrcpy 可以傳輸文件,此命令指定默認保存目錄 |
只讀模式(僅顯示不控制) | scrcpy -n |
屏幕錄像 | scrcpy -r 視頻文件名.mp4 或 .mkv |
屏幕錄像 (禁用電腦顯示) | scrcpy -Nr 文件名.mkv |
設置窗口標題 | scrcpy --window-title '異次元好棒!' |
同步傳輸聲音 | 可借助 USBaudio 這個開源項目實現,但僅支持 Linux 系統 |
Scrcpy 快捷鍵
啟動之后,你就可以在電腦桌面上看到 Scrcpy 的投屏窗口和手機畫面了,你可以直接用鼠標進行操作,它同時也有很多鍵盤快捷鍵可以使用。
Scrcpy 快捷鍵列表 | |
---|---|
切換全屏模式 | Ctrl +F |
將窗口調整為1:1(完美像素) | Ctrl +G |
調整窗口大小以刪除黑色邊框 | Ctrl +X | 雙擊黑色背景 |
設備 HOME 鍵 |
Ctrl +H | 鼠標中鍵 |
設備 BACK 鍵 |
Ctrl +B | 鼠標右鍵 |
設備 任務管理 鍵 (切換APP) |
Ctrl +S |
設備 菜單 鍵 |
Ctrl +M |
設備音量+ 鍵 |
Ctrl +↑ |
設備音量- 鍵 |
Ctrl +↓ |
設備電源鍵 |
Ctrl +P |
點亮手機屏幕 | 鼠標右鍵 |
復制內容到設備 | Ctrl +V |
啟用/禁用 FPS 計數器(stdout) | Ctrl +i |
安裝APK | 將 apk 文件拖入投屏 |
傳輸文件到設備 | 將文件拖入投屏(非apk) |
注:在 macOS 平台上,請使用 cmd
代替 Ctrl
。
屏幕錄像
如有需要,你也可以通過命令對連接好的安卓手機進行錄屏,並將視頻保存為 .mp4 格式。
- 投屏並錄屏:
scrcpy -r file.mp4
- 不投屏只錄屏:
scrcpy -Nr file.mp4
scrcpy 錄屏效果
使用 WIFi 連接
Scrcpy 使用 adb 與 Android 設備通訊,而 adb 本身是支持無線連接的。因此除了 USB 數據線之外,我們也能無線使用。前提是需要保證手機和電腦處於同一局域網 (連接到相同的 WiFi 路由器),步驟如下:
- 查詢設備當前的 IP 地址 (設置 →關於手機→狀態)
- 啟用 adb TCP/IP 連接,執行命令:
adb tcpip 5555
,其中 5555 為端口號 - 拔掉你的數據線
- 通過 WiFi 進行連接,執行命令:
adb connect 設備IP地址:5555
- 重新啟動 scrcpy 即可
- 如果 WiFi 較慢,可以調整碼率:
scrcpy -b 3M -m 800
,意思是限制 3 Mbps,畫面分辨率限制 800,數值可以隨意調整。 - 如需切換回 USB 模式,執行:
adb usb
總結
個人感覺 Scrcpy 用來辦公真的很方便,可以在電腦前輕松處理手機端的事情,對於沒有電腦端的 App,或必須用手機來操作時,Scrcpy 真的能讓你效率猛增!絕對是人手必備的利器。
再加上 Scrcpy 完全免費開源,支持跨平台,支持錄屏,而且是獨立的程序。