或许当前有些小伙伴没 android 手机,这时候可以在电脑上开个模拟器玩玩,下面就分别介绍两种不同的模拟器,下面和大家一起学习交流。
一、android 模拟器 AVD
模拟器配置
1.双击启动 AVD Manager,进入配置界面
![img_84170f02d014e2016625a6ad7dc7f698.png](https://i-blog.csdnimg.cn/blog_migrate/eab977825795606e0faa4647e0a2e5b0.png)
2.点 Create 按钮创建
![img_e82cb18432a5fd8286d5650d4c0f6607.png](https://i-blog.csdnimg.cn/blog_migrate/c29d98e734a417caf9543dda5dc26a38.png)
3.3.配置模拟器基本信息
--AVD Name:设备名称,自己定义一个,用英文(不要用中文)
--Device:设备型号,如下图选项意思是,4.7 寸手机,768*1280 分辨率,屏幕密度:xhdpi
--Target:选对应 API 版本号,Android 版本号 4.4.2,对应 API 版本 19
--CPU/ABI:cpu 型号
--Keyboard:这个最好勾选,带键盘按钮
--Skin:皮肤设置,随意设置
--Front Camera:前置摄像头,设置为 None
--Back Camera:后置摄像头,设置为 None
--Memory Option :RAM 运行内存,设置 512 就行,VM Heap 这个是 app 的运行内存默认设置的 64 就行
--Internal Storage:手机本身的存储卡大小
--SD Card:外部 SD 卡的内存
![img_692a4a3392618eddee8e03be21ce59d4.png](https://i-blog.csdnimg.cn/blog_migrate/80e9e94312a1132e2439fc563ff16bda.png)
4.设置好后点 OK 保存,弹出以下界面说明保存成功
![img_a6b536a4467edf39ac985afc645a58ac.png](https://i-blog.csdnimg.cn/blog_migrate/195200c28abcdabdd751a7b91bfaae77.png)
5.选中上面创建成功的模拟器,点 start 按钮,然后点 Launch 按钮就能启动了
![img_310714aaa277dd275db6d73457b08d81.png](https://i-blog.csdnimg.cn/blog_migrate/743b3a050b1ef8b8dd15be60ae7e75ec.png)
6.接下来就是耐心等待几分钟(电脑性能不好的等 5-10 分钟),运行成功出现,如下界面
![img_8d4fb1f94d725ad600ae27d4f1cb8c39.png](https://i-blog.csdnimg.cn/blog_migrate/e612bf37b9f17250b528dca125a93c1b.png)
7.看到上面这个界面说明启动成功了,然后跟平常操作手机一样点点点了,接下来用 adb 工具检查下设备,打开 cmd 输入adb devices
![img_303f614ca028551d74340f9d84679215.png](https://i-blog.csdnimg.cn/blog_migrate/083c17edf40e539cb97ccc06476f3b85.png)
到这里模拟器就启动成功了,这样替代了真机连数据线去连电脑了.(当然,有Android手机的童靴也可以直接用真机来测试)
二、夜神模拟器
1.下载链接:夜神模拟器版本,下载最新版本即可。你也可以使用Genymotion (也是国外的网站,需要注册使用-不要去看国内中文网,毛用没有,都是外链)
2.安装过程请自行百度(傻瓜式安装即可)
3.出现如下图即为安装成功
![img_4600a9c83dcc93a58e568b2a59fb5fcf.png](https://i-blog.csdnimg.cn/blog_migrate/ea13976936d722278598bea9d91f4ddc.png)
4.模拟器配置
>配置系统环境:在Path中添加C:\Programfile\Nox\bin; (夜神模拟器安装的bin目录)
然后进入这个目录下,启动cmd,输入nox_adb.exe connect 127.0.0.1:62001(为了adb连接模拟器),可能会出现以下的情况,那就是因为你的adb版本和模拟器中的adb版本不同,而且环境变量配置有问题,所以保证环境变量按照上边写的配置好以后,看下边图1和图2
![img_f45f35f4ce6baaff9e10e8f4afb8c6cd.png](https://i-blog.csdnimg.cn/blog_migrate/4449beb1f05f1b2a382bed2d5af01731.png)
![img_aa2ac4b9ef9d04fe2a1e3344eb47dba4.png](https://i-blog.csdnimg.cn/blog_migrate/9afc663e1b2aa11763449459c1f63acb.png)
>验证问题描述情况:(验证之前需要先配置环境变量,将SDK下的adb所在目录(D:\Program Files\Android\adt-bundle-windows-x86\sdk\platform-tools)、以及夜神模拟器的adb所在目录(D:\Program Files (x86)\nox\bin)加入了系统的环境变量path中)
![img_37149565791d92bfb96a9adad258b016.png](https://i-blog.csdnimg.cn/blog_migrate/d2e2cdae7a102a66f223d9b9658fc4f9.png)
>解决办法:
a、关掉夜神模拟器。同时去任务管理器里看下,adb.exe以及nox_adb.exe这2个进程有没有在运行?有的话就结束掉。
b、找到SDK的目录和夜神模拟器的目录,将SDK目录下的adb.exe文件,复制到夜神模拟器的目录下,因为夜神模拟器目录下原本的adb文件名字叫做nox_adb.exe,因此复制过去之后也得改名为nox_adb.exe。
再次进入这个目录下,启动cmd,输入 nox_adb.exe connect 127.0.0.1:62001,再继续,输入adb devices,看看是不是连接成功了?
![img_7b84196178b41ea8964ebe7e209d3f87.png](https://i-blog.csdnimg.cn/blog_migrate/d7be78d8ea34cc2b7d62431cce226f34.png)
![img_0ac3382fa6ae7c2af185b902ce01f8c7.png](https://i-blog.csdnimg.cn/blog_migrate/ac25a0ee6ac8213cc4ebb37ec1374747.png)
三、appium+pycharm+连接夜神模拟器
1.首先打开pycharm并写好代码,这里以淘宝APK作为测试Demo,淘宝APK我是放在电脑桌面(或者放置同代码同个目录下)。如下图所示
![img_c659d9cc05c51939f42f9173a0bab165.png](https://i-blog.csdnimg.cn/blog_migrate/180390e2d0d2ed2b5dff398c5e17a82c.png)
其中|:driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps) #这个地址是怎么来的呢?,见appium设置项,如下图所示
![img_5483ad8b0f90e46036757a542f9de0fe.png](https://i-blog.csdnimg.cn/blog_migrate/8d372f64c181d7fcdc7336a9bf1de438.png)
2.打开appium并点击右上角三角符号,如下图所示
![img_a348e72ed117f3054b81fdcc23aa0099.png](https://i-blog.csdnimg.cn/blog_migrate/da1f2dfdec2e7b84685e966c9df1f45c.png)
3.打开夜神模拟器,如下图所示
![img_4600a9c83dcc93a58e568b2a59fb5fcf.png](https://i-blog.csdnimg.cn/blog_migrate/ea13976936d722278598bea9d91f4ddc.png)
4.打开CMD,进入夜神模拟器的安装路径下:D:\java\appium\nox_moniqi\Nox\bin,运行指令:nox_adb.exe connect 127.0.0.1:62001和指令adb devices查看设备名,如下图所示
![img_aad60f7241be85a5d87f7569baedca06.png](https://i-blog.csdnimg.cn/blog_migrate/41922358b2a4714ec7232f77cc74f82f.png)
5.运行pycharm代码,并查看结果,如下图所示(暂时不理会出错问题,后续会讲解):
![img_ad476d05137ddef94ffae92bec9022f0.png](https://i-blog.csdnimg.cn/blog_migrate/9c307b9fe31b3f6f058fc18863f0620b.png)
遇到的坑1:在CMD指令中输入appium,提示如下图所示
![img_ea72c329a669272b649801ba9e8b1751.png](https://i-blog.csdnimg.cn/blog_migrate/3a3a8f1f240a1d48f1cfc2b57b9ef626.png)
解决方式:降低nodejs的版本,参考链接cmd中提示appium错误
遇到的坑2:运行appium提示error: Couldn't start Appium REST http interface listener. Requested port is already in use. Please make sure there's no other instance of Appium running already.
解决方式:因为端口被node占用,可以用如下退出node,找出PID命令::netstat -ano|findstr "7922" (这个4723是被占用的端口,我们需要先找该占用该端口程序的PID)。停止PID命令:taskkill /pid[进程码] -t(结束该进程) -f(强制结束该进程以及所有子进程)。
四、appium+pycharm+连接AVD模拟器
这里我就不做研究,想研究的童鞋可以去探讨下,不懂的地方大家可以一起交流学习。
参考资料:appium运行的坑及解决方法