需要通過ADB(Android Debug Bridge)連接云手機時,請按照本文所述步驟進行配置。
準備工作
在無影云手機控制臺上創建或導入密鑰對,并將密鑰對綁定至對應的云手機實例。具體操作,請參見管理密鑰。
將該密鑰對的私鑰adbkey存儲在以下目錄,確保能在本地通過ADB登錄。
macOS操作系統下的目錄:
~/.android
Windows操作系統下的目錄:
%USERPROFILE%\.android
執行以下命令來重啟本地的ADB進程。
adb kill-server
adb start-server
操作步驟
若云手機實例所屬的實例組的網絡類型為共享網絡,則僅支持通過私網ADB連接。
若云手機實例所屬的實例組的網絡類型為VPC網絡,則支持通過私網ADB或公網ADB連接。
私網ADB連接
登錄VPC內的ECS實例,或連接VPC內的無影云電腦。
執行以下命令連接云手機。
adb connect <192.168.XX.XX>:5555
說明請將
<192.168.XX.XX>
替換為云手機的內網IP地址。登錄無影云手機控制臺。
在左側導航欄,單擊實例。
在實例頁面的列表中找到該云手機實例,并復制內網IP列的值。
公網ADB連接
如果需要本地設備通過公網adb訪問云手機,則需要增加一個DNAT,并修改安全組配置。
在云手機實例所屬的VPC下創建公網NAT網關。具體操作,請參見云手機如何訪問互聯網。如已創建,請跳過此步驟。
為上述公網NAT網關創建DNAT條目,并配置端口映射規則。
登錄NAT網關管理控制臺。
在公網NAT網關頁面上找到該公網NAT網關實例,并在操作列單擊設置DNAT。
在DNAT管理頁簽上單擊創建DNAT條目。
在創建DNAT條目頁面上完成以下配置:
選擇彈性公網IP地址:選擇一個可用的地址,并記錄該彈性公網IP,通過命令連接云手機時將用到此IP。
選擇私網IP地址:選擇通過手動輸入,并填寫云手機實例的內網IP。
登錄無影云手機控制臺。
在左側導航欄,單擊實例。
在實例頁面的列表中找到該云手機實例,并復制內網IP列的值。
具體端口:填寫要映射的公網和私網端口,例如
1000:5555
。
修改彈性網卡的
policy
安全組的規則,將5555端口開放給公網訪問。登錄ECS控制臺。
在左側導航欄中選擇
。在彈性網卡頁面單擊彈性網卡ID,并單擊基本信息區域內的第一個安全組ID。
說明在彈性網卡綁定的2個安全組當中,一個名稱為
vda
,另一個名稱為policy
,需要修改規則的是名稱為policy
的安全組。單擊安全組ID之后即可查看該安全組的名稱。在安全組詳情頁簽的入方向頁簽上單擊手動添加,并配置以下規則:
授權策略:允許
優先級:1
協議類型:自定義TCP
端口范圍:
5555/5555
授權對象:
0.0.0.0/0
說明此配置表示所有IP地址都可以訪問5555端口。若希望提高安全性,也可以填寫將執行adb命令的本地設備的公網IP地址。
執行以下命令連接云手機。
adb connect <公網IP>:<DNAT公網端口>
說明請將
<公網IP>
替換為DNAT綁定的彈性公網IP,將<DNAT公網端口>
替換為DNAT的公網端口,在本文示例中為1000
。
常見問題
通過公網NAT連接ADB,遇到網絡不通或超時問題,怎么辦?
請確認執行的命令是否正確。通過公網NAT連接ADB的命令為:
adb connect <公網IP>:<DNAT公網端口>
若命令無誤,請從以下方面排查:
確認是否已創建對應的公網DNAT條目。
確認公網IP和端口是否正確。
確認安全組是否已放行對應的端口。
確認VPC內的路由表配置是否正確,主要關注NAT路由表的下一跳是否已配置為SNAT的公網NAT網關。
如果仍然無法解決問題,您可以提交工單以獲取阿里云技術支持。
通過ADB連接云手機時發生鑒權失敗錯誤,怎么辦?
請確認是否已綁定密鑰對,并且已下載對應的adbkey文件到本地的對應目錄。
綁定密鑰對并將私鑰下載到對應目錄后,必須執行以下命令來重啟本地的ADB服務。
adb kill-server
adb start-server