ADB方式公网链接云手机

时间:2020-08-10 19:36:24

通过公网连接云手机时,弹性公网IP绑定在云手机服务器上,因此需要先建立SSH隧道,即ADB方式(公网)包括两个步骤:建立SSH隧道;通过ADB连接云手机。

用于连接云手机的设备可以为本地设备,也可以是云上的机器,推荐您使用本地设备。本地设备的操作系统不限,Windows、Linux、Android OS或Mac OS均可,本节操作以Windows系统为例。

准备工作

建立SSH隧道前,确保用来连接云手机的本地设备已安装SSH服务(请参见如何确认本地设备已安装SSH服务?)。您还需要登录云手机管理控制台,完成如下准备工作:

1、获取云手机所在区域的项目ID。方法如下:

在右上角用户名的下拉列表中,选择“我的凭证”。

选择“我的凭证”

在“API凭证 > 项目列表”中,获取待连接的云手机所在区域的“项目ID”。

以“华东-上海一”为例:

在“API凭证 > 项目列表”中,获取待连接的云手机所在区域的“项目ID”。

说明: 

若项目ID位数多于32位,则取前32位作为建立SSH隧道的用户名。

2、选择一个本地设备中任意未被占用的端口,用来和云手机建立连接。

您可以执行netstat -an命令,查看端口占用情况:

如下图,6667端口已被其他程序占用,而1234端口空闲。

执行netstat -an命令,查看端口占用情况:

3、获取云手机监听地址,即云手机的内网IP与端口。方法如下:

如果在购买云手机服务器时,在高级配置中自定义了应用端口,这里会显示这些端口信息。SSH隧道鉴权方式与使用默认的ADB端口一样,只需要将云手机监听地址替换为对应端口的云手机监听地址即可。

若创建自定义应用端口时勾选了“公网访问”,则此处会显示对应端口的公网访问地址,用户可以通过公网+此端口的方式直接访问云手机,但要注意安全风险。

在云手机控制台,选择左侧导航栏的“云手机管理”,单击待连接云手机的名称,进入云手机详情页面。

在“应用端口”区域获取ADB应用对应的云手机监听地址。

说明: 

4、获取云手机服务器的公网IP地址。方法如下:

在云手机控制台,选择左侧导航栏的“云手机服务器管理”,单击下拉图标,展开云手机服务器详情,获取“IP”参数的取值。

获取“IP”参数的取值

说明: 

如果有多台云手机服务器,请根据云手机名称来判断云手机所属服务器是哪一台。例如,云手机名称为cph-test-1-00001,那么对应的云手机服务器名称为cph-test-1。

5、获取云手机服务器的密钥对对应的私钥文件在本地的保存路径,即购买云手机实例步骤7中创建密钥对时保存在本地的私钥文件路径,例如:C:/Users/Administrator/Downloads/KeyPair-a49c.pem。路径不区分大小写,推荐您使用全英文路径。

说明: 

如果云手机服务器的密钥对对应的私钥文件丢失,请参考私钥文件丢失,怎么办?

步骤1:建立SSH隧道

1、在本地设备打开命令提示符窗口,以Windows 10操作系统为例,方法如下:

同时按下“Win + R”,在打开的“运行”对话框中输入cmd,按“Enter”。

2、执行以下命令,建立SSH隧道。

ssh -L 本地空闲端口:云手机监听地址 SSH隧道用户名@公网IP地址 -i 私钥文件路径 -Nf

各参数说明及获取方式如下所述:

假设本地空闲端口为1234,云手机监听地址为10.237.0.61:5555,SSH隧道用户名为05e1aexxx,公网IP地址为xxx.xxx.xxx.xxx,私钥文件路径为C:/Users/Administrator/Downloads/KeyPair-a49c.pem,命令如下:

ssh -L 1234:10.237.0.54:5555 05e1aexxx@xxx.xxx.xxx.xxx -i C:/Users/Administrator/Downloads/KeyPair-a49c.pem -Nf

该命令表示从本地PC建立一个到云手机的SSH隧道,使用本地端口转发模式,监听本地PC的1234端口;访问本地PC的1234端口时,通信数据将会被转发到云手机的5555端口。

执行命令后,SSH程序会在后台执行隧道的转发,执行后无报错即为SSH隧道建立成功。

说明: 

建立SSH隧道的故障排查,请参考如下链接:

    通过公网访问云手机时,建立SSH隧道失败了,如何解决?

    建立SSH隧道时报错“too open”?

    建立SSH隧道时报错“Permission denied”?

    建立SSH隧道时报错“no match mac found”?

    本地空闲端口:用户自由选择的本地设备中任意未被占用的端口,通过该端口映射云手机应用端口。获取方式见2。

    云手机监听地址:云手机的内网IP与端口。获取方式见3。

    SSH隧道用户名:云手机所在区域的项目ID。获取方式见1。

    公网IP地址:云手机服务器的公网IP。获取方式见4。

    私钥文件路径:云手机服务器的密钥对对应的私钥文件在本地的保存路径。获取方式见5。

    步骤2:通过ADB连接云手机

    1、下载ADB工具。

    访问https://developer.android.com/studio/releases/platform-tools,在页面右上角切换语言为“English”,选择“Download SDK Platform-Tools for Windows”。

    选择“Download SDK Platform-Tools for Windows

    在弹出的对话框中勾选“I have read and agree with the above terms and conditions”,并单击“DOWNLOAD ANDROID SDK PLATFORM-TOOLS FOR WINDOWS”进行下载。

    2、下载后得到“platform-tools_r29.0.5-windows.zip”文件,解压该zip文件至您选定的目录,例如“C:\Users\Administrator\Downloads”。

    说明: 

    “platform-tools_r29.0.5-windows.zip”文件中的版本号“29.0.5”仅为示例,请以实际下载的版本为准。

    3、打开命令提示符窗口,进入“C:\Users\Administrator\Downloads\platform-tools”目录。

    cd C:\Users\Administrator\Downloads\platform-tools

    打开命令提示符窗口,进入“C:\Users\Administrator\Downloads\platform-tools”目录

    4、执行如下ADB命令,创建与云手机的ADB连接。

    adb connect 127.0.0.1:本地空闲端口

    5、检测当前端口是否已连接,可输入adb devices命令检查。

    6、执行相关ADB命令,开始操作云手机,如adb shell命令。

    7、安装手机APK程序至云手机。

    云手机没有自带浏览器或相关应用市场,如果您想要在云手机内安装APP,可以自行找一个APP的apk包使用ADB命令传递至云手机上去安装。命令为:

    adb -s 127.0.0.1:本地空闲端口 install 需要安装的APK所在路径


云手机 CPH

华为云鲲鹏云手机,是基于华为云鲲鹏裸金属服务器,虚拟出带有原生安卓操作系统,具有虚拟手机功能的云服务器。同时,作为一种新型应用,云手机对物理手机起到了非常好的延伸和拓展作用,可以用在如云手游、移动办公等场景。

 
 

获取版本号||https://support.huaweicloud.com/sdkreference-cph/cph_sdk_android_07.html,设备系统要求||https://support.huaweicloud.com/sdkreference-cph/cph_sdk_h5_01.html,查询应用版本详情||https://support.huaweicloud.com/api-cph/cph_api_0620.html,创建应用版本||https://support.huaweicloud.com/api-cph/cph_api_0621.html,查询服务器上部署的应用列表||https://support.huaweicloud.com/api-cph/cph_api_0633.html

https://www.huaweicloud.com/product/cloudphone.html

猜你喜欢