透過 Scrcpy 連結 Android 實體設備展示畫面與操控

本篇要介紹的 Scrcpy 這個軟體跟 Xamarin 技術本身其實沒什麼太大關係,可以套用到 Android 的各種技術開發上。

因為無論用什麼開發技術開發 App 時最後仍都是要使用實體機器做測試,若能夠直接在電腦上面投影兼操作處理,那在實務上確實會方便許多。

而 Scrcpy 這套開源軟體 (對,沒錯它還是 OpenSource 的) 能讓 Android 的實際裝置,能夠在開發者上的電腦直接觀看畫面與操作處理,目前實測起來比起其他的第三方軟體方便的多(如果不排斥透過下指令方式操控),以下就讓我們來看看如何使用吧!

 

首先,請先到 Scrcpy 的 GitHub 下載最新版本(本篇文章撰寫時的最新版本是 v1.14):
https://github.com/Genymobile/scrcpy

其 Repo 的 readme 有寫各平台 scrcpy 的安裝方式,而在 Windows 最簡單的就是直接下載個 *.zip 之後,解壓縮得到類似下圖的畫面:


再透過命令提示字元去執行 scrcpy 的相關指令即可。

 

不過,如果要成功的連結 scrcpy 到 Android 實際裝置上,需要將 Android 手機的 "偵錯" 模式開啟(通常位於 "開發人員" 設定底下),以下展示 Android 7.0 與 Android 10.0 的開啟方式:
(但不保證所有各家裝置的設定方式都一致)


Android 7.0:


Android 10:


確定要連結的 Android 實體裝置 "偵錯" 功能有開啟後,接上 USB 到 Windows 電腦上即可透過 命令提示字元: "scrcpy" 執行該 Android 裝置的畫面連結與操控。

 

以下透過 Visual Studio 搭配擴充套件 Open Command Line 使用命令提示字元作為介紹。

 

首先,本篇文章在開發用的電腦上用 USB 連結了兩台 Android 裝置,其中一台系統為 Android 7.0 另一台的系統為 Android 10.0。要透過 scrcpy 指定任一台 Android 連結使用時,可以透過 Android 裝置序號的方式連結。所以先得透過 adb 查詢兩台 Android 的裝置序號,鍵入: adb devices。

得到 Android 的裝置序號後,就可以透過 "scrcpy --serial <你的裝置序號>" 來作為連結,首先來連結 Android 7.0 的裝置。


切換至 scrcpy 所在的資料夾路徑:


輸入 "scrcpy --serial <你的 Android 裝置序號>"。



Android 7.0 裝置的畫面投影出現在電腦畫面中。


 

這次換連結 Android 10.0 的裝置,切換至 scrcpy 所在的資料夾路徑:



輸入 "scrcpy --serial <你的 Android 裝置序號>"。



Android 10.0 裝置的畫面投影出現在電腦畫面中。




兩個裝置同時在開發的電腦上 USB 連線投影的效果:



好啦,那 scrcpy 有什麼特別之處呢? 請看以下影片:



如果仔細觀察影片的話,就不難發現 scrcpy 不只能投影畫面,還能直接在開發電腦的用滑鼠控制 Android 裝置的操作,雖然有個缺點是 Android 實體鍵的部分無法直接操控,如影片的 0:47 處的部分是透過手機的實體鍵,叫出背景應用 App,但後來 Android 9/10 開始基本上都能使用 虛擬鍵 處理(影片 0:58 )了,所以個人認為這個問題並不太算嚴重的問題。

scrcpy 還有更多其他好用的功能,在本篇文章只簡單的做一個拋磚引玉的介紹,剩下的就有待您自行細細發掘囉!


 


I'm a Microsoft MVP - Developer Technologies (From 2015 ~).
MVP_Logo

I focus on the following topics: Xamarin Technology, Azure, Mobile DevOps, and Microsoft EM+S.

If you want to know more about them, welcome to my website:
https://jamestsai.tw 


相關 Xamarin(.Forms) 推廣活動與課程,請詳見下列 Accupass (活動通) 列表:
https://www.accupass.com/organizer/detail/1910170752158115281580
 

本部落格文章之圖片相關後製處理皆透過 Techsmith 公司 所贊助其授權使用之 "Snagit" 與 "Snagit Editor" 軟體製作。