前言:
楼主使用的Mac 是M1芯片的,网上很多教程都是基于intel 芯片的,所有步骤都是楼主自己根据网上教程和遇到的问题各种摸索出来的,原创文章,转载需标注
设备:
Mac Book pro (macOS Big Sur 版本 11.4 M1芯片)
所需环境:
- 安装JDK并设置环境变量
- 安装Android SDK并设置环境变量
- 安装homebrew
- 安装nodejs
- 安装xcode(直接去app store中下载即可)
- 安装appium,appium-doctor
- 下载appium-desktop.app
特别注意:关于配置环境变量,基于M1 的SHELL是zsh,所以需要把环境变量配置在~/.zshrc 中。非M1芯片配置在~ /etc/.bash_profile中。(因为我是后面才发现这点的,所以前面JDK配置到了~ /etc/.bash_profile中,后面发现了才迁移的,小伙伴们提前确定自己的配置文件地址)
一、搭建Java环境
1. 下载 jdk:Java Downloads | Oraclehttps://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
2. 安装:
小白安装,一直继续就好
备注:楼主下载了jdk1.8.0.271 的版本,配置sdk时,打开tools 文件下android一直失败,最后换成了jdk1.8.0.221版本才成功
3. 安装路径:
Java安装在:/Library/Java/JavaVirtualMachines
这个目录下面(如果没有,可以通过cp 命令将jdk包复制到/Library/Java/JavaVirtualMachines目录
)
Java的主目录在:
/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home
这里里面,我们配置Java的环境变量也是这个目录
4. 配置环境变量:
在终端内打开 ~ /etc/.bash_profile(非M1芯片)
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home
PATH=$JAVA_HOME/bin:$PATH:.
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
export JAVA_HOME
export PATH
export CLASSPATH
配置完成,需要source .bash_profile 使文件生效
通过查询 echo $JAVA_HOME ,查询结果与配置匹配,即表示配置成功
二、 安装android-sdk
方法一:
进入以下链接下载:AndroidDevTools - Android开发工具 Android SDK下载 Android Studio下载 Gradle下载 SDK Tools下载https://www.androiddevtools.cn/#
2. 安装:
下载完成后,进入对应的路径,选中Android sdk包下的tools文件夹,按下command+option+c按钮,复制当前路径,然后进入终端,粘贴刚才的路径,将目录切换至tools目录下后,在终端输入“./Android”打开SDK Manager的图形界面 (简单点就是在tools目录下双击android打开SDK Manager的图形界)
打开的管理界面如下,选中前3项进行安装就可以了:
下一步把两项都勾选上:
配置环境变量:在终端中输入 open .bash_profile,打开配置文件后在文件中添加以下2行:
export JAVA_HOME=$(/usr/libexec/java_home)
export ANDROID_HOME=/usr/local/android-sdk-macosx
command + c 保存后,在终端中输入 source .bash_profile,保存本次配置。
注:这种方法网上一堆教程,但是楼主的Mac pro使用的是M1芯片,不知道哪里出错,SDK manager 管理器打开后无法进行点击操作,找了很久都没有解决办法,因此放弃这种方法,通过安装android studio 来下载SDK,步骤如下。
方法二:安装android studio
1、进入官网,选择正确的资源包
2、下载完成后,双击打开,开始安装
选择自己想要的版本进行下载,直至成功
配置环境变量,基于M1 的SHELL是zsh,看过网上的一些解答,楼主把jdk的配置也移到了~/.zshrc 中
首先在终端 open ~/.zshrc ,如果没有则touch一个
然后配置以下内容
# jdk
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home/(注:这里的jdk版本根据自己下载的变更)
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH:
# Android SDK
export ANDROID_HOME=/Users/lumi/Library/Android/sdk
export PATH=${PATH}:${ANDROID_HOME}/platform-tools
export PATH=${PATH}:${ANDROID_HOME}/tools
export PATH=${PATH}:${ANDROID_HOME}/platforms
export PATH=${PATH}:${ANDROID_HOME}/build-tools/31.0.3(注:这里的build- tools版本号根据自己在sdk manager 安装的变更)
执行命令 source ~/.zshrc 使配置生效
输入adb 验证sdk安装配置成功
三、安装Homebrew
Homebrew 简称 brew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件
安装:
打开终端,输入命令后等待完成即可
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
四、安装nodejs
安装 npn 前需要先安装nodejs
打开终端,输入命令后等待完成即可
brew install node
接着安装npm,国内的可以直接用淘宝的npm,避免掉各种网络问题
npm install -g cnpm --registry=https://registry.npm.taobao.org
五、安装Xcode
直接在App store中搜索xcode,下载安装
安装成功后在终端可以查看到版本号
六、安装python(顺带下载,网上的教程基本没说要安装python)
这里我们使用阿里的镜像地址点此进入,截止目前最新支持ARM版的是3.9.1,点击此版本
下载完成后开始安装,一直下一步就好,直至完成
在终端中输入python 查看是否安装成功,如下则成功
Mac 环境自动存在python2.7,在安装完python 3.9.1后,可以通过配置,使默认指向python3.9.1
(1)Python3安装路径 在 /Library/Frameworks/Python.framework/Versions
(2)打开.bash_profile文件 :open .zshrc
(3)在文件里添加环境变量地址,如下:
alias python=/Library/Frameworks/Python.framework/Versions/3.9/bin/python3.9
export PYTHON_HOME=/Library/Frameworks/Python.framework/Versions/3.9
export PATH=$PATH:$PYTHON_HOME/bin
source ~/.zshrc 是配置生效
备注:which python3.9 查到 /usr/local/bin/python3.9 是它的快捷方式存在路径
再次在终端输入python,查看是否是python3.9.1,如下,修改生效
七、安装appium desktop版本
1、官网地址:https://github.com/appium/appium-desktop/releases
3、安装:下载完成后打开进行安装即可
八、环境验证
以上步骤便是Mac 搭建appium 所需的全部环境,接下来需要对安装的环境正确性进行验证
安装 appium-doctor:npm install appium-doctor -g(如果权限被限制,加上sudo)
开始检查,在终端输入:appium-doctor
框框里的所有内容都☑️时,证明环境配置都正确了,如果有错误的地方,一定要进行修复
九、appium-doctor 查出问题&解决
1、homebrew 安装后执行 brew install 报错
Error: /usr/local/Homebrew is not writable. You should change the
ownership and permissions of /usr/local/Homebrew back to your
user account:
sudo chown -R $(whoami) /usr/local/Homebrew
Error: The following directories are not writable by your user:
/usr/local/Homebrew
You should change the ownership of these directories to your user.
sudo chown -R $(whoami) /usr/local/Homebrew
And make sure that your user has write permission.
chmod u+w /usr/local/Homebrew
解决方法:
出现这种错误,就是环境变量出错了,M1安装homebrew 的路径是在 /opt/homebrew中,环境变量需要指向正确的路径
# home-brew
export PATH=/opt/homebrew/bin:$PATH
export PATH=/opt/homebrew/sbin:$PATH
2、Error running xcrun simctl
解决方法: 安装Xcode
3、Carthage was NOT found!
解决方法:终端运行下面的命令
brew install carthage
4、ANDROID_HOME environment variable is NOT set!
解决方法:由于目前没有适配与M1的Android SDK,所以我们通过安装android studio 解决,参考文章上面的步骤,正确配置环境变量
export ANDROID_HOME=/Users/gao/Library/Android/sdk
export PATH=${PATH}:${ANDROID_HOME}/platform-tools
export PATH=${PATH}:${ANDROID_HOME}/tools
export PATH=${PATH}:${ANDROID_HOME}/platforms
export PATH=${PATH}:${ANDROID_HOME}/build-tools/31.0.3(楼主装的是31.0.3版本,这里需要替换成你自己装的版本,可以在android studio的sdk manager查看到)
5、JAVA_HOME environment variable is NOT set!
解决方法:出现这种错误基本还是环境变量出错了
# jdk
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home/(Java环境基本安装在这里,如果是M1,还可用zulu jdk,这个是适配Arm架构的jdk,自动会配置好环境变量,简单)
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH:
6、adb, android, emulator could not be found because ANDROID_HOME or ANDROID_SDK_ROOT is NOT set
解决方法:把问题4解决了,这个问题也就解决了
7、DevToolsSecurity is NOT enable
解决方法:
楼主在检查的时候,发现Xcode Command Line Tools are installed in:/Applications/Xcode.app/Contents/Developer 是正确的,只有DevToolsSecurityis 提示enable,经过各种查找最后找到解决方法
在终端输入
/usr/sbin/DevToolsSecurity -enable
输入用户密码后就开启成功了,重开终端再次检查,就没问题了
十、总结
Mac M1芯片 搭建appium网上的教程真的不多,很多问题在网上都找不到解决方案,全部都是自己一步步摸索的,现在记录此文,一是为了自己以后再搭建环境可以有完整的教程,二是为其他使用M1芯片的小伙伴顺利搭建环提供便利,希望真的能帮助到大家,如有转载,需要标注文章原创处处。
以上便是appium 环境搭建的全部过程,撒花!