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.lxweimin.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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,441評論 25 708
  • 簡介 Android studio安裝 首先在終端輸入java -version,檢查是否安裝了JDK,如果沒有安...
    xiaohan_zhang閱讀 1,079評論 0 2
  • day01 英語****Generation 一代人;代(約30年),時代icon 圖標Libraries:...
    lengol閱讀 2,005評論 0 50
  • 最近明顯感覺到了大果的變化。 昨天和楊眾、琪琪一起玩,大果拿著我買給他的姑娘儼然當起了隊長,對著這個命令道“誰給我...
    董大果閱讀 173評論 0 0
  • 回到了日思夜想的城市,找了一份新的工作,開始了新的生活,一切都看起來那么的美好,其實很多時候我們都被眼前看到的景象...
    竹風追月閱讀 188評論 0 1