《Android自动化环境搭建》
一、安装JDK并配置环境变量
1:在Java官网上下载本机系统相对应的jdk文件安装,直接下一步一步到位
2:配置JAVA_HOME
新建 JAVA_HOME 环境变量,变量值是所安装JDK 的路径,如:D:\Java\jdk1.8.0;
3:配置PATH
找到PATH变量,后面添加:%JAVA_HOME%/bin;%JAVA_HOME%/jre/bin;
4:配置CLASSPATH
新建 CLASSPATH 环境变量,变量值是:%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar
5:验证安装是否成功
1)打开cmd命令行窗口
2)在命令行窗口中输入java -version,显示JDK版本号表示安装成功:
二、Android SDK环境搭建
注:下载安装ADT(ADT Bundle)插件,ADT Bundle包含了Eclipse、ADT插件和SDK Tools
1:在线安装
1.1:Help-install new-softar----add

1.2:点击ADD,输入在线安装地址(Name:ADT Location:http://dl-ssl.google.com/android/eclipse/),点击ok

2:下载解压安装(解压目录尽量不要带中文目录)eg: D:\IMAuto\android-sdk
三、配置Android SDK环境变量:
1:在系统变量中新建 ANDROID_HOME 环境变量,ANDROID_HOME=D:\IMAuto\android-sdk\sdk(SDK所在的路劲)
2:在PATH后面添加SDK相关的目录:
注:tools 目录下运行android命令,platform-tools目录下运行adb命令
1) tools目录:%ANDROID_HOME%\tools
2) platform-tools目录:%ANDROID_HOME%\platform-tools
3) build-tools目录:%ANDROID_HOME%\\build-tools\android-4.3
3:配置eclipse (如上图ADT Bundle包含有eclipse):
1) 双击打开eclipse,点击菜单栏中的选项 Window--->Perferences
2) 在打开的对话框中,查看第二选项 Android,后面有一个 SDK Loaction,如果在 SDKLocation 后面没有内容,则通过点击后面的按钮【Browser】按钮,找到自己所配置的SDK文件目录下选中, 然后点击【Apply】,如直接有路径可忽略,然后点击【OK】就好了。
四:配置appium-home 环境变量
1:Appium_Home=C:\Program Files (x86)\Appium
2:path中加入%Appium_Home%
3:在path中加入D:\sdk\platform-tools;
4:安装的appium文件夹的Appium\node_modules\.bin加到系统环境变量path中
五:node.js 安装配置
1:先安装node.js,安装成功以后cmd输入 node -v 测试否否成功,在系统变量中配置PATH的路劲 eg:%NODE_PATH%;D:\AppAutoTools\nodejs\
1) 打开CMD窗口,执行 npm install -g appium 命令开始安装Appium. Appium默认被安装到C:\Users\Administrator\AppData\Roaming\npm\ 下
2) 把路径C:\Users\Administrator\AppData\Roaming\npm\ (appium可执行文件所在的目录)添加到环境变量Path
六、测试 Android SDK 相关环境搭建是否配置成功
进入cmd:
1:验证 platform-tools 环境变量:
1) 在cmd命令行输入 adb shell,若进入则安装成功输入ls命令 即可查看目录信息
2:验证 tools 目录下的环境变量:
1)在命令行输入 android,该命令会启动Android SDK Manager
3:验证 build-tools 目录下的环境变量
1) 在命令行输入 aapt命令,可查看相关信息
4:进入到
C:\Program Files (x86)\Appium\node_modules\.bin,运行appium-doctor
七:启动运行
1:若运行过程中出现“A Java Exception has occurred”
解决方案:
jvm 和JDK的版本不一致导致,cmd java –version javac –version
项目—》右键点击Buid path—》configure buid pathàjava Compiler

八:启动Android模拟器
cmd 输入:Android avd,选择模拟器点击【start】
九:连接真机运行APP
1:创建APP包:用于存放被自动化的APP
2:获取程序主包名和主类名
2.1:通过 启动appium—》点击APPium settings—》导入app包—》获取参数后取消勾选

2.2:解压APP包》打开AndroidManifest.xml,manifest对应的是appPackage,activity对应的是AppActivity(效率最高的:问开发人员 )
3:将获取的参数值填入主程序包名和主类名中
4:启动服务手机端提示是否要安装如下,点击是 安装成功

5:测试连接真机是否成功:先打开开发者模式,在输入adb devices

6:启动APPium服务:appium –a 127.0.0.1 –p 4723
总结:Android自动化的环境搭建到启动运行的完整过程
参考链接:https://www.cnblogs.com/puresoul/p/4597211.html
《Android自动化环境搭建》的更多相关文章
- 简单物联网:外网访问内网路由器下树莓派Flask服务器
最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...
- 利用ssh反向代理以及autossh实现从外网连接内网服务器
前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...
- 外网访问内网Docker容器
外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...
- 外网访问内网SpringBoot
外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...
- 外网访问内网Elasticsearch WEB
外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...
- 怎样从外网访问内网Rails
外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...
- 怎样从外网访问内网Memcached数据库
外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...
- 怎样从外网访问内网CouchDB数据库
外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...
- 怎样从外网访问内网DB2数据库
外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...
- 怎样从外网访问内网OpenLDAP数据库
外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...
随机推荐
- snoop的基本用法
关于Snoop的用法 snoop是开发wpf应用程序的利器.用它可以观察WPF的可视树,监听事件,更改元素属性等. 下面我介绍下snoop一些用法. 1.获取指定应用程序的UI 打 ...
- ajax传字符串时出现乱码问题的解决
字符乱码的解决: 第一种在@RequestMapping中添加 @RequestMapping(value="queryAllToTree",method=RequestMetho ...
- css - 全屏
css - 全屏 heml和body元素的宽高 html与body都是块元素,但它俩比较特殊,宽高由如下定义: 1.默认的宽度=浏览器可视区域的宽度(不包含滚动条),可设置大于可视区域的宽度,但不会计 ...
- RibbitMQ 实战教程
# RabbitMQ 实战教程 ## 1.MQ引言 ### 1.1 什么是MQ `MQ`(Message Quene) : 翻译为 `消息队列`,通过典型的 `生产者`和`消费者`模型,生产者不断向消 ...
- jQuery中ajax请求的六种方法(三、六):load()方法
6.load()方法 load的html页面 <!DOCTYPE html> <html> <head> <meta charset="UTF-8& ...
- C++笔记(11) 智能指针
1. 设计思想 智能指针是行为类似于指针的类对象,但这种对象还有其他功能.首先,看下面的函数: void remodel(std::string & str) { std::string * ...
- 搞懂Redis协议RESP
RESP (REdis Serialization Protocal) Redis客户端和服务端之间通信的协议.它很简单,建立在TCP协议上,提供简单.高性能.可读性强的数据序列化的规范和语义. 5种 ...
- Playwright-python 教程
安装 pip install playwright -i https://mirrors.aliyun.com/pypi/simple/ 使用阿里源,下载速度快一点. python -m playwr ...
- Python3-sqlalchemy-orm 分组统计
#-*-coding:utf-8-*- #__author__ = "logan.xu" import sqlalchemy from sqlalchemy import crea ...
- Android kotlin http url request
kotlin.concurrent.thread{ val url = "https://hangj.cnblogs.com/" val res = try { java.net. ...