Ting-Jun (snsd0805)

Ting-Jun (snsd0805)

Developer. Student

© 2019

[軟體]使用scrcpy投影手機畫面

用途及優缺

我們資訊志工隊寒暑假常常到國中教使用ai2做簡單手機app,
當要展示成果給小朋友看的時候,使用模擬器常常需要花費大量時間等待、使用平板又沒辦法讓坐後面的小朋友看清楚,
有次在twitter上剛好看到一篇關於scrcpy軟體的文章,發現它呈現出來的效果很棒,
除了雙支援有線投影、無線投影,畫質也相當優質,重點是目前仍然是開放原始碼、免費的軟體,不需要花錢就可以有幾乎零延遲且輕量化的軟體體驗。
然而缺點是沒有使用者界面,需要藉由指令碼做控制,但是其實也不難操作,仍然是個值得推薦的軟體。

需求

  1. 支援GNU/Linux, Windows, macOS,需準備一台電腦
  2. Android 5.0以上的手機
  3. 需要開啟手機開發者選項的USB偵錯(各手機廠商方法不同,請自行google)
  4. 需使用adb工具(後面介紹)





一、安裝adb工具

adb 全名是 android debug bridge,是android原生、也是開發Android 時很常用到的工具。
可以藉由adb工具,由電腦直接連進手機的command line,因此可以使用較底層的android功能。

adb工具用途十分廣泛,或許以後可以多分享其他幾種用法。

* windows安裝

adb工具可以直接從Android Studio上的SDK Platform Tools下載
下載後直接解壓縮即可,並開啟windows的cmd(命令提示字元)進入該資料夾位址(詳細cmd使用方法請google)

* Arch/Manjaro 安裝

因為我個人使用的是arch linux所以特別寫一欄,其他linux發行版本請自行google了!!

Arch linux下直接使用pacman指令安裝android-tools即可

	sudo pacman -Sy android-tools





二、下載scrcpy套件

* windows安裝

下載scrcpy發行版本並解壓縮

* Arch/Manjaro 安裝

因為我個人使用的是arch linux所以特別寫一欄,其他linux發行版本請自行google了!!

Arch linux有AUR套件

	git clone https://aur.archlinux.org/scrcpy.git
	cd scrcpy
	makepkg -si





三、確認是否啟用adb

記得都先啟用手機開發者選項的USB偵錯功能(各手機廠商方法不同,請自行google)
並且先拿usb傳輸線(支援資料傳輸)連接手機與電腦的usb孔,接著依作業系統執行以下步驟

* windows方法

進入解壓縮後adb的資料夾位置,例如資料夾在C:\user\platform-tools 就在cmd(命令提示字元)輸入

	cd C:\user\platform-tools

接著就可以使用adb指令,接著輸入

	adb devices

若有顯示手機裝置的id就代表成功啟用adb與手機連線

* Arch/Manjaro方法

直接CML輸入adb指令查詢是否有顯示手機裝置id

	adb devices





四、執行scrcpy

* windows方法

直接打開步驟二scrcpy解壓縮後的資料夾,開啟scrcpy.exe即可

* Arch/Manjaro方法

CML輸入scrcpy就會自動開啟





寫在後面:使用無線投影

除了透過USB傳輸,scrcpy也支援TCP/IP連線,可透過內網採無線的方式運行,省的多一條usb線卡手

1. 讓裝置處於和電腦相同的網段下

2. 取得裝置的IP位址

因為我的手機是使用英文界面,所以我不太清楚實際上中文翻譯成什麼,所以直接使用英文
Settings → About phone → Status

3. 開啟手機連線使用的TCP port(端口)

終端機輸入指令開啟5555 port

	adb tcpip 5555

4. 接著可以拔除傳輸線

5. 使用adb連接至手機ip

終端機輸入指令連接至手機的5555port ip位址請自行代入實際狀況的ip

	adb connect 192.168.1.101:5555

6. 執行scrcpy