环境配置
参考资料:MAC系统安装appium环境教程_mac 安装install appiums-CSDN博客
1、安装Android studio
2、安装好后,查看环境变量
- 输入open .bash_profile编辑环境变量
- 输入命令行“source .bash_profile”,加载新的环境变量
- 输入“adb devices”检测是否成功
3、安装Opencv4nodejs
命令:
npm -g install opencv4nodejs --ignore-scripts
提示:ffmpeg cannot be found
命令:
brew install ffmpeg
提示:mjpeg-consumer cannot be found.
命令:
npm i -g mjpeg-consumer
提示:set-simulator-location is not installed
命令:
brew install lyft/formulae/set-simulator-location
提示:idb and idb_companion are not installed
命令:
brew tap facebook/fb
brew install idb-companion
sudo pip3 install fb-idb
提示:applesimutils cannot be found
命令:
brew tap wix/brew
brew install applesimutils
提示:ios-deploy cannot be found
命令:
npm install -g ios-deploy
提示:gst-launch-1.0 and/or gst-inspect-1.0 cannot be found
命令:
brew install gstreamer
提示:bundletool.jar cannot be found
- 前往地址https://github.com/google/bundletool/release,下载bundletool.jar,改名成bundletool
- 在android sdk目录下,创建bundle-tool目录,把jar包放入该目录下
- 在终端切换到当前目录下,并执行chmod +x bundletool.jar命令给jar包添加执行权限
- 修改环境变量,path后追加:$ANDROID_HOME/bundle-tool/
Appium连接真机
参考资料:Appium学习记录(查看手机应用的包名及Activity)_appium 查看所有应用-CSDN博客
1、获取设备名称
查看设备名称:adb devices -l
2、利用adb获取appPackage和appActivity
- 获取手机内所有应用的包名,输入
adb shell pm list package -f
- 可在f后加要查找的app的关键词可快速找到你想要的app包名,例如微信
adb shell pm list package -f tencent
包名为:com.tencent.mm
3. 获取当前应用的包名
(1)第一步先输入adb命令adb shell am monitor
(2)然后手机端打开想要查看的应用,例如微信
(3)输入q回车后退出
4. 根据获得的包名来获取Activity
(1)cmd终端先输入adb shell
(2)输入命令monkey -p
包名
-vvv 1
,例如微信:
monkey -p com.tencent.mm -vvv 1
可以看到微信Activity:.ui.LauncherUI
5. 打开想要查看的应用,输入以下命令
WIN系统:adb shell dumpsys window | findstr mCurrentFocus
MAC系统:adb shell dumpsys window | grep mCurrentFocus
基于Android studio的安卓模拟器配置
参考资料:万事屋
1、Android Studio的安装与调试
AS的安装十分简单,但是可能需要配置代理。在官方下载网站里,Download Option处可以选择“Mac (64-bit, ARM)”。安装后需要配置代理,才能下载基础的虚拟机组件。配置代理部分就不详细说了。
在安装完成后,需要进行一些配置。打开Preference- Appearance&Behavior- System Settings- Android SDK。在SDK platform中可以看到你所下载的安卓版本,默认下载的是Android API 33,为Android 12,如果需要特定的安卓版本,可以在这里下载安装。
随后切换到SDK Tools的Tab,根据自己需要的版本安装Layout Inspector。如果不知道是哪个的话可以全部安装。
以上安装可能都需要代理,如果下载失败可以尝试更换代理或者网络环境。
2、安卓模拟器的配置和调试
注意,一般来说模拟器的大多数参数一经设置,不能更改。所以创建的时候要多加注意。
要从AS主界面进入模拟器管理页面,在More Action中。
一般来说会内置了一个模拟器用于测试,可以先尝试运行一下,AS的模拟器似乎是基于QEMU。左上角Create device可以创建新的模拟器。型号主要影响分辨率,可以随便选选,但是有的型号包含Google play,对于镜像有不同的需求。随后在高级设置里面,一定要配置好内建存储空间的大小,因为这是不能更改的。
这边设置内存3G就已经可以很好的运行安卓12与明日方舟,2G会有些微卡顿。内存在创建后依旧可以更改,可以多做尝试。再次强调内建存储空间的大小在创建后似乎是不能更改的,需要大容量的话需要提前做好准备。由于是直接运行的arm版本的安卓,效率很高运行流畅,但内存统计似乎存在bug,和docker desktop一样,显示占用会很高,但是从内存压力来看并非内存占用很高,因此可以放心。但是每次运行都需要打开AS再点来点去,很麻烦,因此下面给出可以直接运行模拟器的方案。
启动设置:
注意:这里最好冷启动,因为热启动会导致重启后系统重置的问题。虽然冷启动开机慢但是可以保证app不会被重置。
3、独立启动模拟器,并“封装”成应用程序
(1)、首先找到模拟器存放位置。在前文中提到的AS设置里System Settings- Android SDK下,可以看到目录的位置。打开终端,输入
cd /Users/你的用户名/Library/Android/sdk/emulator
./emulator -list-avds
(2)、在终端中,得到模拟器名称,把它记下来。例如:Pixel_XL_API_33。随后,打开macOS自带的“自动化”程序,创建一个新的程序。在边栏中找到“运行Shell脚本”,并输入如下文本
cd /Users/你的用户名/Library/Android/sdk/emulator
./emulator -avd 你的模拟器名称
文本示例:
cd /Users/hetongchuan/Library/Android/sdk/emulator
./emulator -avd Pixel_6_API_33
(3)、保存到Application文件夹,就可以一键启动模拟器了。
4、配置快速启动
快速启动其实就是创建一个本地快照,每次都加载快照而不是重新启动安卓系统,因此可以极大地提升模拟器的启动速度。建议关闭自动创建快照,手动创建一个即可。在模拟器运行起来后,点击边栏中最后一项,找到快照即可。理论上有了快照即可进行快速启动,如果依旧没有快速启动,可以去AS的模拟器管理中进行设置。注意,快照相当于系统还原点,也就是说快照时间点后对于系统的任何更改都会失效,因此要在装完所需app,以及做好应有的设置后再创建快照。
至此,安装安卓模拟器并设置独立启动的流程便结束了。最后附上一个更改app图标的方法,用自动化软件创建的app图标实在太丑,首先随便复制一张图片,只要自己喜欢就行,其次打开app的属性,点一下左上角的图标,就会发现它的周围发光了。此时按command + v即可替换图标。如下图。
附录
1、常用命令
查找设备:
adb devices
找到下载apk的目录,安装下载好的apk:
adb -s emulator-5554 install huawei.apk
连接APP数据格式示例:
{
"platformName": "Android",
"appium:deviceName": "emulator-5554",
"appium:platformVersion": "13",
"appium:appPackage": " com.tencent.mm",
"appium:appActivity": ".ui.LauncherUI",
"noReset": true, # 避免每次打开都要登录
"appium:automationName": "uiautomator2"
}