注意: x86-64的安装包是 Intel芯片的Mac用的,arm64的是M1芯片用的
uiautomator view需要运行在Java 8环境,如果Javahome配置的不是Java8, 可以用文件编辑器打开此文件脚本,修改里面的javaCmd= 的路径
javaCmd="/Users/xxx/Library/Java/JavaVirtualMachines/jdk1.8.0_401.jdk/Contents/Home/bin/java"
我jdk都是在Oracle官网下载的:https://www.oracle.com/java/technologies/downloads/#java8-mac
遇到的问题:
1、Android SDK文件夹下没有tools包
公司网络限制了安装as的时候一些工具下载,用自己网络下载,打开as 设置里面,Android SDK-> sdk tools->取消选中 hide obsolete packages,可以看到 Android SDK platform-Tools的选项,选中,应用,下载。
2、interl芯片的Mac也遇到过uiautomator 不能运行的问题,解决办法:
解决——Mac中无法使用uiautomatorviewer问题_mac m2 uiautomatorviewer swt.jar-CSDN博客
大致就是,把原来 Library/Android/sdk/tools/lib/x86_64中的swt文件改名为swt2,
然后去网址下载一个新的 swt文件,改名为 swt3, 然后copy到 x86_64 ,改名为swt3, 就好了。
3、M系列芯片遇到无法运行问题:
但是在m芯片中,上述未解决问题,最终解决方法:Run UI Automator Viewer on ARM/aarch64 macOS | i1nfo
Eclipse Download Click Through
大致步骤:
上面链接先下个swt文件
打开Android SDK目录,在lib中创建文件夹aarch64
把lib/x86_64下的swt文件copy到新建的aarch64中,
然后把刚刚下载的swt文件copy到aarch64文件中,命名为swt2
ok ,可以运行uiautomatorviewer了
4、最后,uiautomator跑起来了,但是获取不到终端:
Error while obtaining UI hierarchy XML file: com.android.ddmlib.SyncException: Remote object doesn‘t
adb 好的,adb devices可以看到终端列表,adb重启了也没用,解决办法:把手机开发者模式里面 USB调试重新开关一下就好了