谁告诉你鸿蒙(HarmonyOS)不能在macOS下玩,一副没见过世面的样子!
目前鸿蒙的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命令还可以玩出很多花样,就看大家的想象力了。
- Linux基础(day66)
- 字符串的驻留(String Interning)
- 19.5 忘记Admin密码如何做
- 19.3/19.4/19.6 安装zabbix
- 欲火焚身,心静则凉--只靠冲动是不能长久地
- 深入理解C#3.x的新特性(4):Automatically Implemented Property
- 增加网卡注意点
- 深入理解C# 3.x的新特性(1): Anonymous Type
- Linux基础(day65)
- 18.12 keepalived + LVS
- 学会JS只是知道了“是什么”,并不意味着你会用JS做什么
- Linux基础(day68)
- 启动zabbix 报错
- 深入理解C# 3.x的新特性(2):Extension Method[上篇]
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法