目前鸿蒙的macOS版开发工具DevEco Studio还没有发布,具体什么时候发布,还是个未知数。不过我们还是可以在macOS下玩一玩鸿蒙的。由于鸿蒙内置了Android,所以Android就是鸿蒙的后门,与其说是玩鸿蒙,不如说是借Android的手来玩鸿蒙。
Android提供了adb命令,通过USB线将Android手机与电脑相连,然后可以通过adb shell命令进入Android的Shell,如果连接了多个设备,需要使用-s命令行参数指定设备的ID,如adb -s device-id shell。
不过adb还提供了另外一个通过网络连接的命令,adb connect IP[:Port]。根据命令的格式可以看出,只需要指定Android设备的IP和端口号,就可以直接连接到设备上,这种方式是不需要通过USB数据线进行物理连接的。只需要当前机器与Android设备在同一个网段即可。连接后,与直接使用adb命令等效。
为了安全起见,各大厂商都将这一功能去掉了,因为,如果加上这一功能,就意味着任何人只要知道你手机的IP和端口号,就可以通过adb connect命令连接你的手机,而且可以在不通知自己的情况下,删除、安装apk程序,并且可以启动apk程序。
不过如果读者自己刷了cm rom,那么是带这个功能的(见图1的“网络ADB调试”),只是在手机重启后,就会自动关闭了,需要再次手动打开,这个功能测试app非常方便,否则,如果你有N部手机,那么就需要N条数据线了。
图1 网络ADB调试
既然HarmonyOS中有Android,那么完全可以通过adb connect命令远程连接HarmonyOS设备,命令行如下:
adb connect 192.168.31.230:5555
其中192.168.31.230是鸿蒙设备的IP,5555是端口号。执行命令后,如果输出如下信息,说明连接成功。
* daemon not running; starting now at tcp:5037
* daemon started successfully
connected to 192.168.31.230:5555
例如,图2是就是在macOS下通过adb shell 截屏的效果
图2 macOS下截屏
图3则是在Windows下的截屏效果。
图3 Windows下截屏的效果
当然,可以直接使用下面的命令在macOS或Windows下截取鸿蒙设备的当前屏幕,并将截屏图像文件保存在本地。
adb shell screencap /sdcard/screen.png
adb pull /sdcard/screen.png /pictures/screen.png
当然,adb命令还可以玩出很多花样,就看大家的想象力了。