1、Android操作系统简介
(1)Android系统诞生
- 2003年,
Andy Rubin
等人创建Android公司,并组建Android团队。 - 2005年8月17日,Google低调收购了成立仅22个月的高科技企业Android及其团队。安迪鲁宾成为Google公司工程部副总裁,继续负责Android项目。
- 2007年11月5日,谷歌公司正式向外界展示了这款名为Android的操作系统,并且在这天谷歌宣布建立一个全球性的联盟组织,然后以Apache免费开源许可证的授权方式,发布了Android的源代码。
- 2008年9月,谷歌正式发布了Android 1.0系统,这也是Android系统最早的版本。
- 2009年4月,谷歌正式推出了Android 1.5这款手机。
(2)Android系统的结构
- 应用程序层:提供了一些核心应用程序包,用来存放应用程序,主界面、联系人、电话、浏览器、日历等。
- 应用程序框架层:可以直接使用框架提供的组件来进行快速的应用程序开发,也可以通过继承而实现个性化的拓展。
- 系统库和 Android 运行时环境:系统库是应用程序框架的支撑,是连接应用程序框架层与Linux内核层的重要纽带在程序运行时主要执行核心库和Dalvik虚拟机两部分。
- Linux内核:为Android设备的各种硬件提供了底层的驱动。
我们做测试,关注较多的还是应用程序层。
如下图所示:
(3)Android测试环境搭建整体思路
我们的目标是Android测试,所以环境需要搭建三个环境:Java环境,AndroidSDK环境,Android模拟器。
为什么要安装这三个环境?
- Java环境:Android的应用程序层使用的语言是Java,所以需要使用Java环境。
- AndroidSDK环境:Android SDK给你提供开发、测试所必须的Android API类库。
- Android模拟器:实际上就是一台手机,方便我们给大家展示效果。
补充:
Java是安卓的开发语言。
Android其本质就是在标准的Linux系统上增加了Java虚拟机Dalvik,并在Dalvik虚拟机上搭建了一个Java的
application framework
框架,所有的应用程序都是基于Java的application framework
框架之上。而application framework
框架需要使用Java调用,所以要搭建Android系统手机的测试环境需要Java环境。
2、Java环境安装
(1)JDK8下载
官方下载地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
国内下载镜像:
(2)安装JDK8
双击运行下载好的JDK软件。
1)安装JDK导向开始,点击下一步。
2)自定义安装路径。
3)开始安装JDK。
4)安装JRE,并选择安装位置。
5)正在安装JRE,等待安装完成即可。
6)JDK和JRE安装完成,点击关闭。
7)验证。
进入命令提示符中输入java -version
查看Java环境是否安装成功。
出现了Java的版本信息,就说明安装成功了。
(3)配置Java环境变量
配置Java环境变量的目的,是为了可以在任何目录下执行和使用Java命令和工具。方便在控制台编译和运行Java程序,不必进入到Java的程序目录(安装目录)里面去运行。
比如说,当你需要对Java程序文件进行编译和运行的时候,就可以在任何目录下使用java.exe
和javac.exe
工具,对该文件进行编译和运行,不必把该程序文件放在java.exe
和javac.exe
所在的目录下。
1)我的电脑 —> 右键 —> 属性,然后选择高级系统设置 —> 环境变量。
如下图所示:
2)新增JAVA_HOME
环境变量。
如下图所示:
点击确定即可。
说明:
-
JAVA_HOME
环境变量的变量值定位当JDK安装目录的根目录即可,也就说bin目录的上一级目录。(规范) - 定义在上半部分的用户环境变量中,只是当前用户生效。配置在下面的系统环境变量中,对该系统中的所有用户都生效。我们自己的电脑,就定义在系统环境变量中即可。
3)把JAVA_HOME
环境变量添加到Path
环境变量中。
如下图所示:
说明:JDK中就包含了JRE,如果有需要也可以在把JRE的环境单独的加入到
Path
环境变量中。
4)验证,进入命令提示符中输入javac
查看Java环境变量是否配置成功。
出现了如信息就证明Java环境变量配置成功了。
如下图所示:
3、Android SDK的安装步骤
Android SDK
由Google针对其Android平台开发的专属软件开发工具包,可让您创建Android应用程序。
Android SDK
是一款适用于移动应用程序开发人员的便捷程序,它包含了Android编程语言开始构建应用程序所需的所有内容,以及一个完整的功能设备模拟器,以便在您完成开发时进行测试。
(1)Android SDK下载
下载地址:http://www.androiddevtools.cn/
进入到下载页面点击Android SDK工具
—> SDK Tools
就会跳转到Android SDK
的下载位置,然后我们根据自己的系统,按需下载就可以了。
如下图所示:
(2)Android SDK安装
1)解压Android SDK压缩包
解压android-sdk_r24.4.1-windows.zip
文件,当解压后的目录,放到你自己的指定位置。
记住这个目录的位置,并且目录中不要有中文。
Android SDK
的目录结构如下:
2)Android API的下载
Android SDK
解压好后,我们需要下载Android API
。API是一些预先定义的函数,通过调用这些函数,能够让程序得以使用设备自身的硬件或软件。
打开Android-sdk-windows
文件夹,双击SDK manager.exe
文件,我们需要安装Tools
、Platform-tools
、Build-tools
、API
等相关组件。在安装API
时,根据要测试的模拟器或真机的Android版本而定,例如使用的真机是Android7.1.1版本,则Android SDK
要下载Android7.1.1版本的API才可以。
需要根据Android7.1.1对应的API等级下载对应Android SDK Build-tools
版本。
最后我们点击右下角的Install 1 package...
或者Delete packages...
对相关组件的安装或者卸载。
我们点击Install 1 package...
安装所选组件。
勾选Accept License
然后点击Install
进行安装。
一个版本的Android API
大概需要20个G左右的空间,需要耐心等待。
说明:
SDK Manager
就是一个Android软件开发工具包管理器,就像一个桥梁,连通本地和服务器,从服务器下载安卓开发所需工具到本地。SDK Platform
下个最新的就可以了,它可以向下兼容。Android Support Respository
安卓兼容库,必须安装。
下面的SDK Manager
说明图,总结的很好。
3)配置国内镜像下载Android API
因国外资源有时候下载较慢,这时候可以配置国内镜像资源。
在弹出的Android SDK Manager
窗口中,点击Tools ,下拉框点击Options...
镜像地址列表可以自己网上查找最新的。
(3)配置Android SDK环境变量
在命令提示符中输入adb
命令会出现:“adb不是内部或外部命令”。
解决的办法有两种:
- 配置
Android SDK
的环境变量。 - 直接进入
Android SDK
所在目录中的platform-tools
目录中执行命令。
配置Android SDK
环境变量,首先确保Android SDK
相关组件都已下载完毕。然后同Java的环境变量配置大体相同。
1)进入到系统的环境变量配置界面。
我的电脑 —> 右键 —> 属性,然后选择高级系统设置 —> 环境变量。
2)在系统变量中新建ANDROID_HOME
环境变量。
3)将Android SDK
中platform-tools
和tools
的目录路径,添加到系统环境变量Path中。
4)验证Android-SDK
环境变量是否配置成功
重新开启一个命令提示符,输入adb
命令,如下显示证明Android-sdk
环境变量配置成功。
4、SDK manager.exe 闪退打不开解决方案
(1)问题原因:
SDK Manager.exe
通过调用android-sdk-windows\tools\lib\find_java.bat
确认java.exe
的路径。启用cmd.exe
命令行切换路径到android-sdk-windows\tools\lib
,执行find_java.bat
工具,看到输出:C:\Windows\system32\java.exe
。
虽然该路径下存在java.exe
,但是这并不是JRE的安装路径。估计是由于某些需要Java的软件在安装时,将 java.exe
、javaw.exe
、javaws.exe
复制到了 C:\windows\system32
下,导致 SDK Manager.exe
调用了错误位置的 java.exe
所致。
(2)解决方法:
- 方法1:删掉
C:\Windows\system32\
下的java.exe
、javaw.exe
、javaws.exe
即可解决。 - 方法2:
编辑打开android-sdk-windows\tools
下的Android.bat
文件。
找到35行开始rem Check we have a valid Java.exe in the path.
set java_exe=
call lib\find_java.bat
if not defined java_exe goto :EOF修改
set java_exe=
到你本地的Java安装目录中的java.exe
工具
将call lib\find_java.bat
这行,改成rem call lib\find_java.bat
。rem Check we have a valid Java.exe in the path.
set java_exe=F:\DevInstall\envs\java\jdk1.8.0_144\jdk\bin\java.exe
rem call lib\find_java.bat
if not defined java_exe goto :EOF保存关闭
Android.bat
文件,重新打开Android SDK Manager
即可。
『与善仁』Appium基础 — 1、Android系统的测试环境搭建的更多相关文章
-
『与善仁』Appium基础 — 14、Appium测试环境搭建
目录 1.Appium测试环境搭建整体思路 (1)Android测试环境搭建 (2)Appium测试环境搭建 (3)测试脚本语言的环境搭建 2.Appium在Android端和IOS端的工作流程 (1 ...
-
『与善仁』Appium基础 — 8、Appium自动化测试框架介绍
目录 1.主流的移动端自动化测试框架 (1)Robotium (2)Macaca (3)Appium 2.自动化测试工具的选择 3.Appium简介 提示:我们前面说的Android环境搭建和adb命 ...
-
『与善仁』Appium基础 — 10、Appium基本原理
目录 1.Appium自动化测试架构 2.Appium架构图 3.Session说明 4.Desired Capabilities说明 5.Appium Server说明 6.Appium Clien ...
-
『与善仁』Appium基础 — 15、使用Appium的第一个Demo
我们使用Python语言作为测试脚本的编写语言. 执行脚本前提: Android模拟器或者手机是开机状态. 使用确保电脑和Android设备进行了链接. 也就是使用ADB命令adb connect链接 ...
-
『与善仁』Appium基础 — 16、APPium基础操作API
目录 1.前置代码 2.安装和卸载APP 3.判断APP是否已安装 4.关闭APP软件和关闭驱动对象 5.发送文件到手机和获取手机中的文件 6.获取当前屏幕内元素结构(重点) 7.脚本内启动其他APP ...
-
『与善仁』Appium基础 — 17、元素定位工具(一)
目录 1.uiautomatorviewer介绍 2.uiautomatorviewer工具打开方式 3.uiautomatorviewer布局介绍 4.uiautomatorviewer工具的使用 ...
-
『与善仁』Appium基础 — 19、元素定位工具(三)
目录 1.Chrome Inspect介绍 2.Chrome Inspect打开方式 3.Chrome Inspect工具的使用 (1)Chrome Inspect工作前提 (2)Chrome Ins ...
-
『与善仁』Appium基础 — 20、Appium元素定位
目录 1.by_id定位 2.by_name定位 3.by_class_name定位 4.by_xpath定位 5.by_accessibility_id定位 6.by_android_uiautom ...
-
『与善仁』Appium基础 — 21、元素的基本操作
目录 1.元素的基本操作说明 (1)点击操作 (2)清空操作 (3)输入操作 2.综合练习 1.元素的基本操作说明 (1)点击操作 点击操作:click()方法.(同Selenium中使用方式一致) ...
-
『与善仁』Appium基础 — 22、获取元素信息的操作(一)
目录 1.获取元素文本内容 (1)text()方法 (2)get_attribute()方法 (3)综合练习 2.获取元素在屏幕上的坐标 1.获取元素文本内容 (1)text()方法 业务场景: 进入 ...
随机推荐
-
遍历collection
链接 遍历NSArray 正向遍历 for (id object in array) 反向遍历 for (id object in [array reverseObjectEnumerator]) 如 ...
-
gpgcheck
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY Public key for co ...
-
ZMQ设置socket选项
Name zmq_setsockopt –设置ZMQ socket的属性 Synopsis int zmq_setsockopt (void *socket, int option_name, con ...
-
Delegation事情委托或代理
在javasript中delegate这个词经常出现,看字面的意思,代理.委托.那么它究竟在什么样的情况下使用?它的原理又是什么?在各种框架中,也经常能看到delegate相关的接口.这些接口又有什么 ...
-
pygtk手记(1)
GTK+使用C语言开发,但是其设计者使用面向对象技术. 也提供了C++(gtkmm).Perl.Ruby.Java和Python(PyGTK)绑定,其他的绑定有Ada.D.Haskell.PHP和所有 ...
-
深入了解setInterval方法
相信大家对setInterval方法肯定非常熟悉,但不少人对其缺乏深入的了解,致使当一个flash里有多个setInterval的时候就容易混淆,该清除的间隔lID没有清除,不该清除的时候却清除了.对 ...
-
ios隐藏软键盘
//判断是否为苹果 var isIPHONE = navigator.userAgent.toUpperCase().indexOf('IPHONE')!= -1; // 元素失去焦点隐藏iphone ...
-
plist反序列化
// // ViewController.m // 03-plist文件的一个反序列化 // // Created by jerry on 15/9/28. // Copyright (c) ...
-
Linux查看用户属于哪些组/查看用户组下有哪些用户
一.关于/etc/group格式的讨论 在说/etc/group格式的时候,网上很多文章都会说是“组名:组密码:组ID:组下用户列表”,这说法对了解/etc/group格式是没问题的,但如果碰到“查看 ...
-
java的类继承(与c++对比)
1. interface的引入 使用interface来定义某一类通用操作,而又不强制规定其实现,对于Java的流行真是太重要了. 以JDBC举例.在Java之前,C++与数据库建立连接,常用的一个技 ...