讓電腦可以控制手機/平板–Scrcpy

一直以來便想要用電腦來「直接」控制與操縱 手機/平板。就像在遠端控制一樣,這樣我在使用電腦時,便不需要電腦與手機來回跳躍,直到今天,可讓我發現了這個工具~ Scrcpy 可以達成我的需求!

首先,我是因為這篇文章的介紹,才知道有這麼個工具:
Scrcpy – 用电脑控制 Android 手机[Win/macOS/Linux]

在實驗過之後,了解到 Scrcpy 是運行在 adb 的機制上面,所以:

  1. 先執行 adb 連接上 手機/平板
  2. 再執行 Scrcpy 來控制手機

有關 adb (可透過 usb 連接 或 透過 無線網路 連接)這件事,可以從以下幾篇文章簡單窺知一二:

  1. adb: 手機平板連線傳檔必備工具
  2. 透過無線網路 wifi 用 adb 操控手機
  3. ADB使用WiFi進行除錯 – ADB Over WiFi
  4. 如何在電腦上使用 ADB指令操作Android手機(How to use adb to manipulate android mobile phone )
以自己的手機為例,手機 IP 為 192.168.0.107, 所以要透過 adb 連上來要:

  1. 啟動 adb 服務: adb start-server
  2. 連上手機: adb connect 192.168.0.107:5555
  3. 觀察一下,是否連上:adb devices

adb 連接沒問題後,便是要執行 Scrcpy 了。

註:
一般而言,adb 使用 usb 連上手機,比較沒有問題!但要使用網路(無線)連上手機就會卡關。

比較早期的手機還會有讓使用者勾選的選項(設定 => 開發人員選項 => ADB over network, Settings => Developer options => ADB over network) ,但後來此選項多半被拿掉,就會讓人誤以為 再也無法使用網路連上手機。

事實上,那只是 adb 功能底下的一個選項,或稱一個開關,可以讓我們視需要進行開關!

  • 預設值是使用 usb 連線的狀態:
  • adb -s (裝置名稱) usb

  • 若要打開 網路連線 封印(port 預設值 為 5555):
  • adb -s 裝置名稱 tcpip 5555

  • 在這邊很多人的問題是不知道自己裝置名稱為何,所以可以透過來觀察確認:
  • adb devices

  • 封印成功解除之後,便會回報:
  • restarting in TCP mode port: 5555

  • 這時便可以直接透過 網路 連線了:
  • adb connect (裝置IP):5555

Scrcpy 這個專案目前放在 github 網站: https://github.com/Genymobile/scrcpy 可以直接連過去下載!

Scrcpy 目前支援 MacOSX, Linux, MS Windows 三種平台執行,目前我已測試了 Linux, MS Windows 這兩種平台可以順利執行。

MS Windows 平台:

本專案網站 便可以 視作業平台種類 直接下載,而我用 64 bit 平台測試,所以下載:
https://github.com/Genymobile/scrcpy/releases/download/v1.10/scrcpy-win64-v1.10.zip

下載之後,直接解開,不需要安裝!而且整包程式也內附 adb 程式,所以不必去下載安裝 adb 程式,非常方便。

影片示範:

Linux Desktop 平台:

因為 Scrcpy 要動起來,需要安裝 adb 與 Scrcpy 。而這兩個東西,作者並沒有把他們一起包好,不過沒關係,就下載安裝一下就好,很簡單的!

首先是要有 adb, 因為我是用 Debian, 有最省事的作法:sudo apt -y install adb 這樣便可以裝好!

但是我比較喜歡使用最新版本,所以我便連到 android 開發者網站 去下載與安裝。

安裝完成後,便可以利用 adb 連上手機!

再來要安裝 Scrcpy, 於是依據作者的說明:https://github.com/Genymobile/scrcpy/blob/master/BUILD.md,很快的裝了起來。

  • # runtime dependencies
  • sudo apt install ffmpeg libsdl2-2.0-0

  • # client build dependencies
  • sudo apt install make gcc git pkg-config meson ninja-build \
    libavcodec-dev libavformat-dev libavutil-dev \
    libsdl2-dev

  • # server build dependencies
    sudo apt install openjdk-8-jdk

  • git clone https://github.com/Genymobile/scrcpy
  • cd scrcpy
  • 下載這個檔案,並放到 scrcpy 這個目錄裡面,並記得檔名要改成:scrcpy-server.jar(我是直接放到 /home/chungyu/Download/scrcpy/ 目錄裡面):
    https://github.com/Genymobile/scrcpy/releases/download/v1.10/scrcpy-server-v1.10.jar

  • meson x --buildtype release --strip -Db_lto=true \
    -Dprebuilt_server=/home/chungyu/Download/scrcpy/scrcpy-server.jar
  • cd x
  • ninja
  • sudo ninja install

這樣 scrcpy 便會被安裝到 /usr/local/bin/ 這個目錄裡面去,所以要執行時,只要輸入: /usr/local/bin/scrcpy 便可以了!

影片示範:


參考資源:

  1. Scrcpy – 用电脑控制 Android 手机[Win/macOS/Linux]
  2. Scrcpy專案網站
  3. adb: 手機平板連線傳檔必備工具
  4. 透過無線網路 wifi 用 adb 操控手機
  5. ADB使用WiFi進行除錯 – ADB Over WiFi
  6. 如何在電腦上使用 ADB指令操作Android手機(How to use adb to manipulate android mobile phone )
  7. android 開發者網站

One Reply to “讓電腦可以控制手機/平板–Scrcpy”

  1. Pingback: 3 個動作,讓電腦可以控制 手機/平板 – 仲佑的網誌

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

*