在进行APP爬虫开发的时候,我们一般是通过手机连接PC端代理上网,进行抓包分析,那么以这种方式抓包的时候就需要在手机端进行对应的操作,但是我们不可能一直通过手动去操作手机进行抓包,所以要使用adb这种Android开发命令的方式进行操作。但是现在很多手机权限控制比较严密,直接连接真机有很多操作是不支持的,所以就必须用到模拟器。很庆幸安卓模拟器有很多种,下面我们就介绍一下APP爬虫开发环境的简单搭建和基础使用。
安装模拟器
安卓模拟器有很多种,夜神模拟器、腾讯手游助手、mumu模拟器等都是比较常用的模拟器,其中夜神模拟器是比较好的,但是它不支持Mac系统,mumu模拟器是由网易开发的,支持Windows和Mac平台,而且更新比较频繁,所以我使用的是mumu模拟器,官方文档和论坛也比较丰富。安装好以后就可以直接打开使用,如果碰到问题,可以在官方的常见问题中进行查看。
Mac安装adb
安装完模拟器之后,我们就要安装adb了,在Mac上首推brew cask进行安装
- 安装brew
请看这篇文章HomeBrew 官方安装太慢而失败? - 安装adb
brew cask install android-platform-tools
安装完adb后打开控制台,输入adb version
然后可以先使用真机进行测试,打开手机的“开发者选项”,并启用“USB调试”模式,在控制台输入adb devices
这样就表示我们的adb已经安装好了,下面就是连接我们的模拟器了。
连接模拟器
在模拟器中打开“USB调试模式”,然后在控制台中关闭adb server,再重启即可
adb kill-serveradb server
这个时候再查看连接设备
438ec4b1为真机,emulator-5554为模拟器,要连接机器使用以下命令
adb -s 438ec4b1 shell
连接真机
连接模拟器
在红框中你会发现区别,在连接真机的ls前面是$符号,在连接模拟器的ls前面是#,#符号就表示拥有root权限,非#符号就表示没有root权限,我试过几个真机,都是无root权限的,可能需要我们自行root后才能正常使用。所以这就是我们一定要使用模拟器的原因了。
因为我们不在真机上进行调试,所以就把连接断掉,只保留模拟器一个连接设备。在这种情况下,我们的adb命令也可以简短一些,比如使用adb连接设备,原来是adb -s xxx shell,现在就可以直接写adb shell,其他的adb命令也是类似。
安装抓包软件
电脑端常用的抓包软件Fiddler、Charles、mitmproxy,Fiddler是专属于Windows系统的抓包软件,并且功能强大,Charles是跨平台的软件,但是功能不如Fiddler,在Mac和Linux使用Charles,mitmproxy也是跨平台的抓包工具,虽然也有可视化界面,但是不够友好,使用成本比较高,因此我们常用mitmproxy配合Python实现抓取工作。mitmproxy需要专门写了一个帖子,这里就不在详述了。
安装APP自动化操作软件
- Appium
- 安装Android Studio
Android Studio中文社区下载工具,安装后打开会报一个错,不用管
打开SDK Manager,安装对应的SDK版本
- 设置环境变量
在vim ~/.bash_profile文件最后增加以下内容,如果没有就新建一个
export ANDROID_HOME=/Users/xxxx/Library/Android/sdkexport PATH=${PATH}:${ANDROID_HOME}/toolsexport PATH=${PATH}:${ANDROID_HOME}/platform-toolsexport PATH=${PATH}:${ANDROID_HOME}/build-tools/29.0.2
ANDROID_HOME路径就是上面图中SDK下载路径
PS: 上面环境变量中的build-tools/xx.xx.xx要在build-tools目录下去看具体情况,我们主要是需要使用aapt工具,所以aapt在哪个目录下就填写哪个目录。
配置完以后执行source ~/.bash_profile命令,重新加载环境变量,然后输入aapt -v查看命令是否正常运行
3.安装JDK从官网下载JDK 8,官网下载需要注册账号,比较麻烦。可以在找第三方网站上的下载,我是在一个百度云分享链接下载的,可惜现在忘了地址了,不好意思。
- 安装Python操作库
pip install Appium-Python-Client
然后就可以正常使用了。
- Airtest
Airtest是网易开发的自动化测试工具,虽然不如appium专业,但是胜在安装简单,使用简单。直接在官网下载即可,而且文档也比较齐全。最重要的是安装完后,所有测试环境就OK了。然后再安装pip install poco就可以使用了。最最最重要的是,在其他机器上想要使用以及编写好的脚本,只需要安装pip install poco就可以了,不需要再安装Airtest工具。
推荐阅读:240hz显示器
-
无线耳机只是听个响?别闹!超越千元有线耳机的
在过去,对于耳机发烧友们来说,似乎一直对无线蓝牙耳机有成见!不可否认的是,在过去,如果你和一个发烧友去探讨无线蓝牙耳机的音质有多么出色,他们是会当做笑话一样在听...
2019-12-24 -
华为手机型号中P、Mate、nova指什么?
随着华为手机的不断发展,”花粉”群也在不断的发展壮大。在这么多的“花粉”中,可能有很多新花粉知道华为手机有着哪些型号,却不知道华为手机这些型号的由来,所以接下来...
2019-12-24 -
vivo TWS Earphone体验分享,
在大多数人的印象中,真无线蓝牙耳机中当属AirPods的外观、性能最为卓越。但是由于AirPods没有很好适配安卓手机,安卓手机连接AirPods之后查看电量、...
2019-12-24 -
浅谈华为刀法,每一款都要挨几刀,Mate30
一,Mate30 Pro/Mate30 Pro 5G:镜头方面:为了跟P系打差异化性,刀了潜望式长焦镜头,只支持3倍光学变焦,你也可说是节省空间,毕竟潜望式长焦...
2019-12-24 -
机器人学会对自己下手了,螺丝松了自己拧
机器人能够对自己下手了:自己修自己!日本科学家教会机器人拧自己的螺丝。人类用手一指,你这松了,机器人就操起家伙,眼一闭心一横,对准自己此外,机器人还可以操着自己...
2019-12-24 -
解密小米线下四年战事:从侧翼进攻到正面战场的
编者按:从2015年9月当代商城的第一家小米之家开始,到现在已经四年多的时间。在这四年多的时间里,小米敏锐地抓住了购物中心这个新兴零售渠道崛起的机遇,从中国智能...
2019-12-24