最近想研究下安卓手机的远程控制,所以研究了下appuim,下面主要是记录下,我在学习appuim时遇见的一些问题与环境实践部署。
1.下载安装python
官方地址:
https://www.python.org/
本人下载3.7.5,安装不做详细介绍,很简单的,如果已经做过python环境了自动忽略。
2.安装uiautomator2库
官方地址:
https://github.com/openatx/uiautomator2
此库无需下载,直接打开终端执行以下命令即可(安卓7.0以上的appuim需要该库)
pip3 install -U uiautomator2
如果遇见安装错误或者找不到uiautomator2了,可以在前边加sudo,用管理员权限去安装。
3.下载安装JDK
官方地址:
https://www.oracle.com/technetwork/java/javase/downloads/index.html
本人下载的是Java SE 14
4.下载安装安卓SDK
推荐地址:
http://tools.android-studio.org/index.php/sdk
下载最近即可,本人下载的是android-sdk_r24.4.1-macosx.zip
本工具不需要安装,只需将压缩包解压放到你想放的路径即可,这个路径一定要记清楚,因为下面配置环境时需要用到,我因为电脑安装了androidstudio,所以直接放置到androidstudio的SDK目录同级了。
mac下使用本工具有权限问题,建议执行以下命令允许任何来源软件
sudo spctl --master-disable
然后打开解压出来的目录里的tools/android 如下图所示
双击tools下面的android,打开界面如下图所示,前3个必选安装
安装完后打开build-tools 找一个最新版本的打开 找到aapt并复制到platform-tools目录下(这个是因为appuim初始化时会在目录下寻找aapt这个工具,但是默认找不到它的位置,可能是个bug)
然后配置环境变量
打开终端(Terminal)执行以下命令
vim .bash_profile
添加以下内容JAVA_HOME和ANDROID_HOME视具体安装路径修改
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home
export ANDROID_HOME=/Users/wangying/Library/Android/python_adb/android-sdk-macosx
export PATH=${PATH}:${ANDROID_HOME}/tools
export PATH=${PATH}:${ANDROID_HOME}/platform-tools
export PATH=${PATH}:${JAVA_HOME}/bin
export PATH=${PATH}:${JAVA_HOME}/jre/bin
export PATH=${PATH}:${ANDROID_HOME}/build-tools/29.0.2/
这里的JAVA_HOME你需要看下你的版本更我是否一样,不一样的话改下,ANDROID_HOME就是刚刚解压缩后放置的路径
执行以下命令让配置生效
source .bash_profile
然后执行
adb devices
显示结果
List of devices attached
这是没有插入手机,如果插入手机会显示手机信息。
java -version
显示结果
jason-macbook-pro:~ wangying$ java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
来验证adb和java环境的配置成功与否
5.下载安装appuim
官方下载地址:
https://github.com/appium/appium-desktop
点击下载最新版本,要不然安装后会有版本提醒。具体安装不做详细说明
打开Appuim点击Start Server 至此 appuim环境准备完毕
6.下载安装Pycharm
官网地址:
https://www.jetbrains.com/pycharm/
安装后打开选择新建项目(Create New Project)然后显示如下图,建议勾上Inherit global site-packages
这样用pip命令安装的库可以直接在你新建的项目中使用,这个新建的项目的python第三方库需要重新安装
新建工程后然后点击顶部左侧Pycharm->Preferences->Project->Project Interpreter
然后点击右侧底部+号搜索Appuim-Python-Client 然后点击安装。也可以直接pip install Appium-Python-Client来安装,如果遇见找不到或者资源不存在,可以添加sudo pip install Appium-Python-Client还可以指定成国内的镜像服务,我喜欢用阿里云的镜像
7.开始第一个demo
设置你的手机打开开发者模式,开启USB调试工具(不同手机操作不一样,可以百度)
然后用usb连上你的电脑
电脑打开终端输入
adb devices
将显示你连上的手机的列表如下图所示
jason-macbook-pro:~ wangying$ adb devices
List of devices attached
8FS7N16428016577 device
开始第一个案例,其中deviceName为刚刚用adb devices命令取到的设备唯一编号
from appium import webdriver
desired_caps = {
'platformName': 'Android',
'deviceName': '8FS7N16428016577',
'platformVersion': '9.0',
'appPackage': 'com.android.browser',
'appActivity': 'com.android.browser.BrowserActivity'
}
webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)