报告老板
很多同学在搭建 macaca 的环境时候,出现了各种问题,尤其是使用 windows 的同学,更是复杂且费劲的要命,我这里针对一些遇到的坑,按照从头的搭建开始说起,如下

基本的搭建条件要满足
基础环境匹配条件,点击跳转,查看详细教程
然后来看坑里有多少水~

1.安装 macaca-android 时,停住不动


解决方法
1.请先检查你的网络情况,是否可以连接外网,不能的话,自己 **~;
*2
.再确认你的 sdk 版本,有的时候 sdk 版本不匹配也会出现如此情况。具体版本参照上边基础环境详细教程的链接;
3.然后确认你相关的环境变量是否配置 OK,包括ANDROID_HOMEGRADLE_HOMEPATH
4.启动 uiautomatorviewer,看看是否有报错,如果有如图的报错情况,恭喜你,sdk 版本不符,同样需要下载指定的文件;
5.确认一些配置情况,比如npm config ls中是你需要的配置;
6.以上都 OK 的话,那么就容易了,清理环境,我是说所有组件,包括 sdk、nodejs、gradle 等,卸载,删除文件夹,删除缓存文件等等,重新按照教程安装保证没问题;

以上,适用于所有把环境搞的乱糟糟的人。。。

2.同样是安装 macaca-android 或者 app-inspector 的时候遇到的情况


解决办法:如果是这样的情况,很简单,按照提示下载对应的文件,比如图中这个是指 platform 26 的版本

去 SDK manager 中查看,是这个,下载以后就可以搞定

3.Windows 下,安装 app-inspector 报错 提示 xcodebuild 的问题,出现如图提示


解决方法:(三种方法,任选其一)
*1.临时方法:到 app-inspector 安装目录,删除 node_modules 目录
修改 app-inspector/package.json 文件里,删除 ios-simulator xctestwd 这两行
uiautomatorwd 这行最后的逗号去掉。
"optionalDependencies": {
-- "ios-simulator": "",
"macaca-adb": "",
"uiautomatorwd": "" --,
-- "xctestwd": ""
}
*2.搜索并下载安装配置 xcode 在 windows 系统下(相对麻烦)
*3.无视之,不影响使用
注意看,failed 后边说 xcodebuild 的版本有问题,那跟我们有什么关系,这东西是 mac 才需要配置的~放心大胆的开始使用吧!

4.各种下载缓慢的情况(感谢@xdf 大大的支持,mac 童鞋跳转

天朝的同学们,有时候在搭建过程中,由于网络环境不稳定,导致各种 macaca 依赖下载慢的不行
解决办法:各种下载源,童鞋们快保存下来,如果有不能使用的请跟帖回复,我会尽快更新
1.Node.js 下载缓慢,使用中国淘宝源,你值得拥有;
2.npm 下载慢,更换镜像源,在安装指令后加入--registry=https://registry.npm.taobao.org, 例如 npm i macaca-cli -g --registry=https://registry.npm.taobao.org
3.Maven 下载慢,使用文本编辑器,修改 X:\maven\conf\setting.xml 配置文件,在...中加入如下几行,将远程仓库改为国内的阿里云仓库,飞一般的感觉~ *
<!-- 阿里云仓库 -->
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>

4.Android SDK 中各组件下载慢,设置代理 mirrors.zzu.edu.cn 端口:80,如下图示


4.执行 macaca doctor 时提示 Not accepted Android SDK license agreements


解决办法
*1.检查 Android SDK 的环境变量配置,按照安装时的要求,保证变量配置正确;
*2.创建一个 license.bat,然后编辑并执行一下,内容如下:

mkdir "%ANDROID_HOME%/licenses"
echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > "%ANDROID_HOME%/licenses/android-sdk-license"
echo -e "\n84831b9409646a918e30573bab4c9c91346d8abd" > "%ANDROID_HOME%/licenses/android-sdk-preview-license"

感谢@1991867089 校正并提供以上信息

检查下是否生成在 SDK/licenses 文件中,以及是否有这两个文件生成。
如何?是不是就像通便一样顺畅了很多,再也没有报错了……

5.app-inspector 查看 ios 元素时报错


解决办法
*1.ping 127.0.0.1 或 localhost 确认本地网络通畅;
*2.之前的解决方法:
*3.重新签名,在标红框的地方 把改过的 Bundle id 替换一下

6.执行 app-inspector 时报错,提示中有 sign 的字样,基本上就是签名的问题,修改 bundleId 就可以了;

7.在 xcode 中编译报错 “ No such module ‘Swifter’ ”

解决办法
找到当前报错的 project 目录,比如 XCTestWD 中,确保目录中有 Cartfile 这么个东西(通常在 /usr/local/lib/node_modules/app-inspector/node_modules/sctestwd 类似的目录下,改目录还包含了 SCTestWD 的文件夹),到这个目录中执行 carthage update --platform ios,成功后,重新编译即可!

8.在执行 app-inspector 时候报错无法连接(ECONNREFUSED)怎么办?


解决办法
在命令行执行 iproxy 8001 8001,意思是把当前连接设备的 8001 端口映射到电脑的 8001 端口。

后期补充其他错误的解决方法,争取所有的错误都汇总到这里来~


↙↙↙阅读原文可查看相关链接,并与作者交流