目前鸿蒙的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命令还可以玩出很多花样,就看大家的想象力了。
蒙娜丽宁 认证博客专家 公众号:极客起源 达芬奇 UM 更多精彩内容请关注微信公众号:「极客起源」,东北大学计算机专业硕士。UnityMarvel创始人,企业内训讲师、IT畅销书作者,学院讲师,拥有多年软件开发经验和培训经验。主要著作包括《Python从菜鸟到高手》、《Python爬虫技术:深入理解原理、技术与开发》,培训企业学员数千人。制作在线课程数千小时。更多视频课程,请访问我的B站:https://space.bilibili.com/477001733