App自动化08-Android SDK目录架构详解
Android SDK的功能介绍,以下来自百度百科:
SDK:(software development kit)软件开发工具包。被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。
因此,Android SDK 指的是Android专属的软件开发工具包。
SDK设置代理
进入到SDK包中,通过打开SDK manager.exe即可看到SDK管理界面,可能部分童靴发现一直在加载出不来,我们需要设置代理来解决:
选择工具栏上的Tools->Options打开如下窗口进行设置
设置好之后重启SDK manager即可
目录结构说明
1、Tools目录
Android SDK Tools
SDK自带工具包,必须,只需下载一个版本,一般选最新版本
Android SDK Platform-tools
Android平台工具,必须
Android SDK Build-tools
Android项目构建工具,必须
2、Android.x.x(API x.x)目录
SDK Platform
对应平台的开发工具,需要在哪个版本的平台下开发就下载哪个,必须
Sources for Android SDK
安卓对应平台的源代码,可以安装
ARM /Intel xxxx Image
模拟器镜像,非必须
3、Extras目录
Intel x86 Emulator Accelerator(HAXM installer)
windows平台的Intel x86模拟器加速工具,配合Intel x86 atom/atom_64 System Image使用可加快模拟器的运行速度。
4、SDK文件目录
add-ons
这里面保存着附加库,第三方公司为Android 平台开发的附加功能系统。比如GoogleMaps,当然你如果安装了OphoneSDK,这里也会有一些类库在里面。
docs
这里面是android SDK API参考文档,所有的API都可以在这里查到。
extras
该文件夹下存放了Android support v4,v7,v13,v17包;还有google提供的USB驱动、Intel提供的硬件加速等附加工具包
platforms
每个平台的SDK真正的文件,存放了不同版本的android系统。里面会根据API Level划分SDK版本,这里就以Android 5.1举例,那么对应进入后有一个android-22的文件夹
samples
是Android SDK自带的默认示例工程
platform-tools
保存着一些Android平台相关通用工具,比如adb、sqlite、make_f2fs的工具,这里和platforms目录中tools文件夹有些重复,主要是从android2.3开始这些工具被划分为通用了。
tools
作为SDK根目录下的tools文件夹,这里包含了android 开发和调试的工具,比如ddms用于启动Android调试工具,比如logcat、屏幕截图和文件管理器,而draw9patch则是绘制android平台的可缩放png图片的工具,而monkeyrunner则是一个不错的压力测试应用工具,mksdcard则是模拟器SD映像的创建工具,emulator是 Android SDK模拟器主程序,其中uiautomatorviewer.bat工具对我们自动化非常重要,可以通过该工具定位元素,查看页面布局等。
build-tools
保存着一些Android平台相关通用工具,比如adb、和aapt、aidl、dx等文件。aapt即Android Asset Packaging Tool , 在SDK的build-tools目录下. 该工具可以查看, 创建,更新ZIP格式的文档附件(zip, jar, apk,一般我们可以通过该工具查看应用的包名和入口activity。
uiautomatorviewer
在android的SDK有提供uiautomatorviewer工具来支持我们进行UI自动化测试,通过截屏并分析XML布局文件的方式,为用户提供页面元素查看服务
使用步骤:
1、打开真机/模拟器的USB调式模式后连接到PC端
2、打开设备上的App界面
3、启动uiautomatorviewer
4、获取对应页面的元素
准备工作做完后,双击uiautomatorviewer即可开启,通过点击左上角的第二个图标按钮Device Screenshot,点击之后会更新当前设备的最新屏幕快照,如下所示:
界面区域说明:
左边区域显示当前最新的屏幕快照
右上方区域,显示当前页面布局控件的层级关系
右下方区域,当前选中布局/控件的属性信息,如id、class等等。
uiautomatorviewer工具和appium-desktop自带的Inspector区别:
1、uiautomatorviewer只能支持android,如果是android平台,推荐使用uiautomatorviewer
2、Inspector可以同时支持android和IOS
3、uiautomatorviewer不需要配置启动参数,但是目前在Android V7.0以上版本支持不好