scrcpy之將Android手機投屏到Linux電腦實踐
參考:https://zhuanlan.zhihu.com/p/366378837
A 安裝與USB投屏
- 電腦端安裝投屏程序
sudo apt install -y scrcpy
-
手機端設(shè)置
手機端無需安裝任何軟件,只需開啟【開發(fā)者選項】-【USB調(diào)試】及相關(guān)選項,比如我開啟了【USB調(diào)試、USB調(diào)試(安全設(shè)置)、無線調(diào)試、USB安裝】
開啟【USB調(diào)試】相關(guān)選項后,用USB數(shù)據(jù)線連接電腦與手機,設(shè)置連接模式為【傳輸照片(PTP)】 -
電腦端啟動投屏程序投屏
$ scrcpy
這樣就可以在電腦上看到手機屏幕了
B 一些命令
adb shell xxx #--- 相當于在手機上運行shell命令【xxx】
adb shell ls /data #--- 查看手機中的root根目錄,如果手機未root,則無權(quán)限打開
adb shell ls /storage/emulated/0 #--- 查看手機中的文件管理器根目錄
adb shell ip route | awk '{print $9}' #--- 查看手機ip
adb shell ss -tnl #--- 查看手機監(jiān)聽端口
adb tcpip 6666 #--- 修改手機監(jiān)聽端口為【6666】
adb connect 192.168.2.16:6666 #--- 通過網(wǎng)絡(luò)連接到手機
adb devices #--- 查看設(shè)備列表
# adb 命令很強大,請自行百度
scrcky #--- 將手機屏幕投屏到電腦屏幕
C 命令演示
^_^ kevin@TM1701-b38cbc23:~$ adb shell ls /data #--- 未root,則無權(quán)限
ls: /data: Permission denied
^_^ kevin@TM1701-b38cbc23:~$ adb shell ls /storage/emulated/0
好多文件
^_^ kevin@TM1701-b38cbc23:~$ adb shell ip route | awk '{print $9}'
10.23.13.111
192.168.2.16
^_^ kevin@TM1701-b38cbc23:~$ adb devices
List of devices attached
90e714b7 device
192.168.2.16:6666 device
D 通過wifi網(wǎng)絡(luò)投屏
準備工作:
確保可以通過USB投屏后,將手機與電腦連接到同一個局域網(wǎng)的wifi,并設(shè)置手機開啟【開發(fā)者選項】-【無線調(diào)試】,將【開發(fā)者選項】-【默認USB配置】改為【傳輸照片(PTP)】,改為【傳輸文件(MTP)】方式也行。
192.168.2.16 是我手機連接到WiFi時的IP地址
下面的步驟更多是讓你知道原理
1 查看當前監(jiān)聽端口列表
^_^ kevin@TM1701-b38cbc23:~$ adb shell ss -tnl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
Cannot open netlink socket: Permission denied
LISTEN 0 0 0.0.0.0:18154 0.0.0.0:*
LISTEN 0 0 0.0.0.0:15552 0.0.0.0:*
LISTEN 0 0 *:61593 *:*
LISTEN 0 0 *:42917 *:*
LISTEN 0 0 [::ffff:127.0.0.1]:38781 *:*
LISTEN 0 0 [::ffff:127.0.0.1]:37479 *:*
LISTEN 0 0 [::ffff:127.0.0.1]:40457 *:*
2 修改手機監(jiān)聽端口為【6666】,這樣容易記
^_^ kevin@TM1701-b38cbc23:~$ adb tcpip 6666 #--- 修改手機監(jiān)聽端口為【6666】
restarting in TCP mode port: 6666
3 查看修改后的監(jiān)聽端口列表
^_^ kevin@TM1701-b38cbc23:~$ adb shell ss -tnl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
Cannot open netlink socket: Permission denied
LISTEN 0 0 0.0.0.0:18154 0.0.0.0:*
LISTEN 0 0 0.0.0.0:15552 0.0.0.0:*
LISTEN 0 0 *:61593 *:*
LISTEN 0 0 *:6666 *:*
LISTEN 0 0 *:37583 *:*
LISTEN 0 0 [::ffff:127.0.0.1]:38781 *:*
LISTEN 0 0 [::ffff:127.0.0.1]:37479 *:*
LISTEN 0 0 [::ffff:127.0.0.1]:40457 *:*
# 這里可以看到監(jiān)聽端口已經(jīng)改(增加)為【6666】
# 【37583】這個可以從開發(fā)者選項-無線調(diào)試那里看到,干啥用的? 和【6666】啥關(guān)系
4 adb程序通過網(wǎng)絡(luò)連接到手機
^_^ kevin@TM1701-b38cbc23:~$ adb connect 192.168.2.16:6666
already connected to 192.168.2.16:6666
# 或者:
^_^ kevin@TM1701-b38cbc23:~$ adb connect 192.168.2.16:37583
already connected to 192.168.2.16:37583
# 可以看到【37583】和【6666】這兩個都可以連接,【37583】這個端口是隨機,每次啟動端口都不一樣;【6666】這個增加的,一次修改,永久有效
5 重新投屏
拔掉SUB數(shù)據(jù)線,電腦端運行投屏程序即可:
^_^ kevin@TM1701-b38cbc23:~$ scrcpy
每次投屏前,先運行adb connect 192.168.2.16:6666
,然后啟動scrcpy
即可。
如果需要重新使用USB數(shù)據(jù)線連接,需要先斷開adb
連接,方法是:
O_O kevin@TM1701-b38cbc23:~$ adb disconnect
disconnected everything`
上個圖:
6 異常處理
- 錯誤1:
如果【開發(fā)者選項】-【默認USB配置】不是【傳輸照片(PTP)】或【傳輸文件(MTP)】傳輸方式,啟動scrcpy會出現(xiàn)以下錯誤:
^_^ kevin@TM1701-b38cbc23:~$ scrcpy
INFO: scrcpy 1.12.1 <https://github.com/Genymobile/scrcpy>
adb: error: failed to get feature set: no devices/emulators found
ERROR: "adb push" returned with value 1
- 錯誤2:
^_^ kevin@TM1701-b38cbc23:~$ scrcpy
INFO: scrcpy 1.12.1 <https://github.com/Genymobile/scrcpy>
adb: error: failed to get feature set: more than one device/emulator
ERROR: "adb push" returned with value 1
你可能有多個多個設(shè)備供選擇,查看可供選擇的設(shè)備列表:
^_^ kevin@TM1701-b38cbc23:~$ adb devices
List of devices attached
90e714b7 device
192.168.2.16:6666 device
斷開USB數(shù)據(jù)線,或運行adb disconnect
斷開網(wǎng)絡(luò)連接,就可以了
- 錯誤3:
unable to connect to 192.168.2.16:6666: Connection refused
可能:
A、手機的IP變了,修正IP即可;
B、你的手機重啟啟動了,他會自動關(guān)閉【開發(fā)者選項】-【無線調(diào)試】。重新開啟后,還需重新設(shè)置監(jiān)聽端口【6666】
最后
文章來源:http://www.zghlxwxcb.cn/news/detail-493099.html
愛你!文章來源地址http://www.zghlxwxcb.cn/news/detail-493099.html
到了這里,關(guān)于scrcpy之將Android手機投屏到Linux電腦實踐的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!