Macaca macaca 搭建过程——报告老板,开始排坑

碎冰之殇 · 2018年03月12日 · 最后由 碎冰之殇 回复于 2019年10月24日 · 4330 次阅读

报告老板
很多同学在搭建 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 端口。

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

共收到 33 条回复 时间 点赞
碎冰之殇 macaca 环境搭建——从开始到放弃 中提及了此贴 03月22日 23:15

macaca doctor 命令出现一样的 Not accepted Android SDK license agreements 用了你提供的方法并没有结决

回复

有的时候,是要清理掉 sdk 环境及文件重新安装配置的,包括缓存文件,他们都会有影响的

我把 sdk 重新下载了,环境变量也重新配置了,还是这个问题

回复

缓存文件都清理了么?比如 .android

碎冰之殇 回复

清理了还是不得行

碎冰之殇 回复

行了沃德天

回复

恭喜,话说,最后是怎么行的

瞎捣鼓的,哈哈~

这你知道为什么吗

回复

你的 macaca-android 没有安装好,app-debug.apk 生成失败了;
需要卸载和清理 app-inspector 和 macaca-android,然后重新安装,确保安装 macaca-android 的时候有生成那两个文件,再装 app-inspector。
参照文档:https://testerhome.com/topics/12277,3/4 位置,该组件的安装步骤

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

保存一个文件格式为.bat 格式,然后写上我的内容,上面文章作者的变量写错了。这个方法能解决证书的问题



我 install 就报错了。。。咋回事

王梦茹 回复

报错是说:你没有权限在 xx 目录中创建该文件夹。
你是没有手动创建那两个目录么,如果没有去创建好就行了

老哥,稳~


启动 inspecto 的时候报这个错,什么原因

老曹 回复

首先日志中找到错误的关键字
然后根据关键字判断,可以通过如下手段尝试解决:
1.adb shell pm clear com.macaca.android.testing
尝试重启启动,观察是否解决;
2.手机中卸载如下的程序,并重新启动 inspector



老哥我配置的时候出现了这个问题怎么解决呀

豆包 回复

sdk 需要配置 2 个,可能你没有配置模拟器版本

豆包 回复

先看字面翻译,sdk platform 的目录不存在,请安装;
那么自己应该知道,这个 doctor 是检查环境变量的配置,说明你的变量配置有问题,
然后去检查变量配置是否有错,比如变量名称、变量值(配置路径);
另外,你的 sdk 变量被检查到了,但是没有 platform,说明是在 path 中缺少了配置

大佬帮我看看这是哪出错了

几个地方试一下:
1.重新链接看报错是否还错在
2.清理移动端与 macaca 相关的进程和软件,比如 com.macaca.xxx 这种类型的软件卸载掉,然后重新运行;
3.查看驱动版本是否匹配等情况

碎冰之殇 回复

试过了都没用。大佬有没有微信或者 QQ,这个沟通太麻烦了

拍坑真累,今天搞了半下午,gradle 版本问题,sdk 版本问题,build-tools 版本问题

洛凉 回复

恩,搭建环境最要命的就是版本问题。貌似这些框架开发大佬没办法做成那种自适应版本,或者锁定版本的稳定模式。

碎冰之殇 回复

安卓没问题了,iOS 死活没搞定,头疼

洛凉 回复

ios 的问题,多是授权和版本。

碎冰之殇 回复

搞定了,需要手动在 node_modules/xctestwd/XCTestWD/build 目录下创建 Build/Products,这些项目更新太慢了,唉,上次更新了下 xcode 搞死人了,只能降 xcode 版本

洛凉 回复

mac 的 xcode 很烦人,版本对不上或者签名什么的有问题就各种报错

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册