Android Studio 安装与使用

1 Android Studio 初识

Android Studio 是一个Android开发环境,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试。

在IDEA的基础上,Android Studio 提供  :

--基于Gradle的构建支持

--Android 专属的重构和快速修复

--提示工具以捕获性能、可用性、版本兼容性等问题

--支持ProGuard 和应用签名

--基于模板的向导来生成常用的 Android 应用设计和组件

--功能强大的布局编辑器,可以让你拖拉 UI 控件并进行效果预览

--用以捕捉性能,可用性,版本兼容性和其他问题的工具

1.1 Android Studio 简介

http://www.jikexueyuan.com/course/2531_1.html?ss=1

1.2 Android Studio 下载和安装

http://www.jikexueyuan.com/course/2531_2.html?ss=1

如果只想使用Android SDK提供的工具,不需要Android的开发环境,下载Android SDK 就足够了。Android Studio 和 Android SDK 下载地址:

https://developer.android.com/studio/index.html

1.3 SDK tools

Android SDK tools - 软件及开发工具包(software development kit),集成在Android Studio中,被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合,是Android专属的软件开发和测试工具包。

常用工具有:

sdk

|——build-tools

|           |——xx.x.x

|                      |——aapt

|——platform-tools

|           |——adb

|——platforms

|           |——uiautomator.jar

|——tools

|           |——ddms

|           |——monitor

|           |——monkeyrunner

|           |——traceview

|           |——uiautomatorviewer

|           |——hierarchyviewer


2 环境变量配置

打开计算机属性——高级系统设置——环境变量

2.1 JDK环境变量配置

2.1.1 新建一个环境变量,变量名:JAVA_HOME,变量值:  C:\Program Files\Java\jdk1.8.0_91 (JDK安装目录)

2.1.2 在用户变量PATH后面加上变量值  ;%JAVA_HOME%\bin 保存

2.2 SDK环境变量配置

2.2.1 新建一个环境变量,变量名:ANDROID_HOME,变量值:D:\adt-bundle-windows-x86_64-20140702\sdk(以你安装目录为准,是SDK的所在目录),点击确认。

2.2.2 在用户变量PATH后面加上变量值  ;%SDK_HOME%\tools;%SDK_HOME%\platform-tools;  保存

2.2.3 Android SDK配置完成,接下来验证配置是否成功。

点击运行——输入cmd——回车——输入adb——回车


3 常用测试工具介绍

3.1 aapt

aapt即Android Asset Packaging Tool,在SDK的build-tools目录下。该工具可以查看,创建, 更新ZIP格式的文档附件(zip, jar, apk)

3.1.1 列出压缩文件目录

aapt l[ist] [-v] [-a] file.{zip,jar,apk}

3.1.2 查看apk包的packageName、versionCode、applicationLabel、launcherActivity、permission等各种详细信息

aapt dump badging  file_path.apk 

3.1.3 查看权限

aapt dump permissions file_path.apk

3.1.4 查看资源列表

aapt dump resources file_path.apk

3.1.5 查看apk配置信息

aapt dump configurations file_path.apk

3.1.6 查看指定apk的指定xml文件

aapt dump xmltree file_path.apk  res/***.xml

3.2 adb

3.2.1 查看设备连接

adb devices

3.2.2 查看log信息

adb logcat [option] [filter-specs]

3.2.3 安装和卸载APP

安装: adb install  apk所在路径

卸载: adb uninstall  app包名   

3.2.4 导入和导出文件

adb pull remote local  把手机local目录的文件导出到pc 

adb push local remote  把pc的文件push到手机

3.2.5 查看adb其它命令

adb help

3.3 uiautomator

uiautomator 是Android原生UI自动化测试框架,API介绍如下:

http://wear.techbrood.com/tools/testing/testing_ui.html

3.3.1 UiDevice :在测试中可以通过UiDevice对象去对设备的控制,如点亮屏幕、锁屏、旋转方向、截图等,点击home键、back键、menu键等。可以通过getUiDevice()来获取UiDevice对象。UiDevice=getUiDevice(),如:getUiDevice.pressHome();点击home键

3.3.2 UiObject : 整个UI里面的某个元素或控件。可以通过UiObject对象来对控件模拟用户的操作。UiObject的构造函数里是传入一个UiSelector对象。所以我们要通过UiSelector来查找我们需要的元素或控件 ,如:UiObject  appsButton=new UiObject(new UiSelector().description("apps"))

3.3.3 UiSelector : 可以通过UiSelector对象去定位UI元素。如果发现多个满足条件的控件则会返回第一个控件,在使用UiSelector的时候可以组合使用多个属性来定位具体的控件,还可以使用childSelector()函数来嵌套  UiSelector 对象

3.3.4 UiScrollable:可滚动的控件,如果操作的控件需要滚动就可以使用UiScrollable ,如:

UiScrollable  appsList=new UiScrollable(new UiSelector().className("android.view.View"));

appsList.setAsHorizontalList();

3.3.5 UiCollection: 代表所有控件的集合,可以用来获取所用控件的个数,获取子元素对象

3.4 ddms

DDMS 的全称是Dalvik Debug Monitor Service,是 Android 开发环境中的Dalvik虚拟机调试监控服务。

它为我们提供功能如下:

--为测试设备截屏

--针对特定的进程查看正在运行的线程以及堆信息

--Logcat

--广播状态信息

--模拟电话呼叫

--接收SMS

--虚拟地理坐标

3.4.1 启动ddms

--通过点击 sdk/tools 目录下ddms直接启动

--通过命令行启动,windows cmd或mac terminal中输入ddms即可启动

3.4.2 截图和录屏

截图:Device-Screen capture 截取当前屏幕

录制屏幕:Device-Screen Record,设置对应参数,点击OK开始录屏,点击Cancel结束录屏

3.4.3 log查看和过滤

--点击log区域的+号,可以添加过滤器

--可以通过Log Tag、Log Message、PID和Application Name来创建过滤器

3.4.4 查看进程的堆使用情况

可以通过DDMS查看进程的堆内存的使用情况,特别是通过某几步操作后,当前应用进程的堆使用情况,操作步骤如下:

— 点击选中想要监测的进程,比如com.qihoo.appstore进程

— 点击选中Devices视图界面中最上方一排图标中的“Update Heap”图标

— 切换tab到 VM Heap

— 点击Heap视图中的“Cause GC”

— 此时在Heap视图中就会看到当前选中的进程的内存使用量的详细情况

3.4.5 跟踪对象内存分配

— 切换 tab 到 Allocation tracker,单击“Start Tracing”按钮

— 运用被测APP,操作待测试的feature,操作完毕后单击“Get Allocations”按钮,一个已分配对象的列表就会出现第一个表格中

— 单击第一个表格中的任何一项,在表格二中就会出现导致该内存分配的栈跟踪信息。通过allocation tracker,不仅知道分配了哪类对象,还可以知道在哪个线程、哪个类、哪个文件的哪一行。

3.4.6 查看手机文件

Device - File Explorer,即可导入或导出手机文件

3.5 monitor

android Device Monitor是一个提供了图形化界面的可以对Android应用进行调试和分析的独立的工具,它集成了Android SDK下的以下工具:

3.5.1 DDMS 介绍见3.4

3.5.2 Tracer for OpenGL ES

Tracer是在你的Andr​​oid应用程序分析OpenGL的嵌入式系统(ES)代码的工具。该工具允许您捕获的OpenGL ES命令和每帧图像,以帮助您了解图形命令是如何被执行。分析绘制过程参考:http://blog.csdn.net/jinzhuojun/article/details/8901835

3.5.3 Hierarchy Viewer

不合理的布局会使我们的应用程序UI性能变慢,HierarchyViewer能够可视化的角度直观地获得UI布局设计结构和各种属性的信息,帮助我们优化布局设计。HierarchyViewer是我们优化程序的工具之一,它是Android自带的非常有用的工具,可以帮助我们更好地检视和设计用户界面(UI),绝对是UI检视的利器。

-- 启动Hierarchy Viewer:点击Android SDK/tools/hierarchyviewer启动,或命令行输入hierarchyviewer启动

-- 连接测试设备,启动被测应用,并定位到要分析的界面

-- Hierarchy Viewer工具,找到要分析Activity

-- 点击Load View Hierarchy,就可以看到当前Activity的层级结构了

-- 点击要测试的空间,可以查看控件的属性,如id、text等

3.5.4 Systrace

Systrace允许你监视和跟踪Android系统的行为。可以用来跟踪 graphics 、view 和 window 的信息,发现一些深层次的问题。

官网介绍:https://developer.android.com/studio/profile/systrace.html#overview

3.5.5Traceview

TraceView 是 Android 平台配备一个很好的性能分析的工具。它可以通过图形化的方式让我们了解我们要跟踪的程序的性能,并且能具体到方法。

官方文档:https://developer.android.com/studio/profile/traceview.html

3.6 monkeyrunner

monkeyrunner工具提供了一个API,使用此API写出的程序可以在Android代码之外控制Android设备和模拟器。通过monkeyrunner,您可以写出一个Python程序去安装一个Android应用程序或测试包,运行它,向它发送模拟击键,截取它的用户界面图片,并将截图存储于工作站上。monkeyrunner工具的主要设计目的是用于测试功能/框架水平上的应用程序和设备,或用于运行单元测试套件,但您当然也可以将其用于其它目的。

官方文档:https://developer.android.com/studio/test/monkeyrunner/index.html

3.7 Traceview

见3.5.5

3.8 uiautomatorviewer

可以通过uiautomatorviewer工具来获取应用的界面截图并分析。uiautomatorviewer工具提供了一个便利的方式来查看UI布局结构,并且可以查看各个控件的相关属性。利用这些信息可以用来创建UI测试代码。

--手机连接PC,打开被测APP,定位到待测试的界面

--工具栏选择 Device Screenshot (uiautomator dump),左侧区域显示手机当前屏幕,右侧显示当前屏幕界面对应的布局

--在左侧试图区域选择控件,即可在右侧的布局区域查看该控件的层级和属性

--通过查看activity内各控件的属性,配合uiautomator框架,即可实施Android UI自动化测试

3.9 hierarchyviewer

见3.5.3



参考资料:

http://developer.android.com/tools/studio/index.html

http://developer.android.com/tools/debugging/ddms.html

http://developer.android.com/sdk/installing/index.html

http://www.jianshu.com/p/5908def0e8af

http://developer.android.com/intl/zh-cn/tools/studio/index.html

http://baike.baidu.com/link?url=c---85A_3-jPh9BVEY_drfkY6M2amlOePyFYegJjc1E6BXMMd14xHKbubRKM3uzmH4S4_LI75NXRxl9k1lfekK

http://baike.baidu.com/link?url=2jMARS-wxMYSMFPnei4ja1LvnL29ykJgEOe-u-E9nwlID6zrFSld4tK3E_lkVHtI6HONJ9w9UdRt25Zf-ueP0q

http://developer.android.com/intl/zh-cn/tools/debugging/ddms.html

http://baike.baidu.com/link?url=NIfuNDZGeLAQkETC70S6E1SZqpTBa2455qUScWseFiZJVOJaOHtj9zHzaFQx22LkbHUgDQRIQPpHJcP0wPszS_

http://www.360doc.com/content/14/0329/23/10366845_364806505.shtml

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,602评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,442评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,878评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,306评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,330评论 5 373
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,071评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,382评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,006评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,512评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,965评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,094评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,732评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,283评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,286评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,512评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,536评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,828评论 2 345

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,513评论 25 707
  • 简介 Android studio安装 首先在终端输入java -version,检查是否安装了JDK,如果没有安...
    xiaohan_zhang阅读 1,032评论 0 2
  • day01 英语****Generation 一代人;代(约30年),时代icon 图标Libraries:...
    lengol阅读 1,974评论 0 50
  • 最近明显感觉到了大果的变化。 昨天和杨众、琪琪一起玩,大果拿着我买给他的姑娘俨然当起了队长,对着这个命令道“谁给我...
    董大果阅读 150评论 0 0
  • 回到了日思夜想的城市,找了一份新的工作,开始了新的生活,一切都看起来那么的美好,其实很多时候我们都被眼前看到的景象...
    竹风追月阅读 167评论 0 1