1. 程式人生 > >Android Studio 3.0全新時代:帶來的一些新功能

Android Studio 3.0全新時代:帶來的一些新功能

前言

Android Studio從3.0版本新增了許多功能,當然首當其衝就是從3.0版本新增了對 Kotlin 開發語言的支援,除此之外還有其他一些新功能,例如:Android Profiler (其中包含了: CPU Profiler、Memory Profiler、Network Profiler ),APK Debugger,Device File Explorer,Java 8 Language Features等。

這裡寫圖片描述

Android Profiler

顧名思義,安卓的分析器,看到這裡不禁有人會問:不是一直都有效能分析器功能模組的嗎?其實,這裡是對該模組功能強化了許多。

Android Studio 3.0 中的 Android Profiler:

Android Studio 3.0 中 Android Profiler 視窗取代了 Android Monitor 工具。這些新的分析工具為您應用程式的CPU,記憶體和網路活動提供實時資料。您可以執行基於抽樣的方法跟蹤程式碼的執行,捕獲堆轉儲,檢視記憶體分配,並檢查網路傳送的檔案的細節。

要開啟Android的Profiler視窗,請按照下列步驟操作:

點選 View > Tool Windows > Android Profiler(你也可以直接在工具欄中點選 Android Profiler 這裡寫圖片描述)。
在Android Profiler視窗的頂部,①選擇裝置②選擇要分析的應用程式

。如果你通過USB連線的裝置,但沒有看到它列出,確保已啟用USB除錯。
如果您使用的是Android模擬器或已Root裝置,Android Profiler會列出所有正在執行的程序,即使它們可能是不可除錯的。當您啟動一個除錯的應用程式,這個程序被預設選中。
Android Profiler現在顯示的共享時間線檢視中(見下圖),包含了CPU,儲存器和網路使用情況的實時圖形的時間線。視窗還包括③時間軸縮放控制④一鍵向前跳到實時更新,和⑤一個事件時間線展示出活動狀態,使用者輸入事件,以及螢幕旋轉事件

官方的介紹圖如下:

這裡寫圖片描述

APK Debugger

Android Studio中3.0允許您即使不從Android Studio專案構建應用也可以分析和除錯現有的APK包。但是,你需要確保你使用的是可除錯的APK版本。

如果你在Android Studio的歡迎介面,通過點選 Profile or debug APK 開始除錯APK。但是如果你已經有一個開啟的專案,單擊選單欄的File > Profile or debug APK。在接下來的對話視窗,選擇要匯入到Android Studio中的APK包點選OK。您應該看到類似下圖:

這裡寫圖片描述

匯入已構建完畢的apk到Android Studio中

注意
當您匯入一個APK到Android Studio中,IDE會在你的主目錄下建立一個新的專案,並且在本地複製一份目標APK。這意味著,如果您重新構建或更新了原來的APK,您需要手動地重新匯入新版本的APK到Android Studio中。

在Android的專案工程檢視中允許你檢查你APK的下列內容:

APK file:雙擊APK開啟APK分析。
manifests:該應用程式清單,從APK提取。
java:包含Android Studio從apk的dex檔案反彙編出來的java程式碼(into .smali files)。每個 .smali 檔案對應一個此目錄中的Java類。
cpp:如果您的應用程式包含了原生代碼(c 或 c++),該目錄包含您的APK的本地庫( .so 檔案)。
External Libraries:包含了Android SDK。

您可以立即使用Android profiler開始測試您的應用程式的效能,但是,profiler 目前僅適用於您應用的Java程序中。因此要使用斷點除錯您應用程式的Java和native程式碼,你需要先關聯Java原始碼 ,並關聯native除錯標記符號。

關聯Java原始碼

預設情況下,Android Studio會從APK中提取Java程式碼,並將其儲存為 .smali 檔案。要使用斷點除錯Java程式碼,你需要將Java原始碼關聯到每個要除錯的 .smali 檔案。

關聯Java原始碼,操作步驟如下:

1、在工程面板中雙擊 .smali 檔案(使用 Android的檢視)。開啟檔案後,編輯器會顯示一個黃色的警告橫幅,要求您選擇Java原始碼,如上圖。
2、在編輯視窗的頂部點選關聯Java原始碼。
3、找到應用程式的Java原始檔的目錄,然後單擊開啟。

在專案視窗中,IDE會用相應的 .java 檔案替換 .smali 檔案。現在,您就可以像往常一樣新增斷點和來除錯您的應用程式了。

關聯 native 除錯標記符號

如果您的APK中含有不包含除錯符號檔案的本地庫(.so 檔案),IDE將顯示在一個警告訊息視窗,如果不關聯上native libraries您將不能除錯APK的native碼和使用斷點。如果你還沒有這樣做的話,請務必下載NDK和工具。(此處連結需要翻牆)

要安裝除錯的本地庫,步驟如下:

1、在專案視窗中的cpp目錄下,雙擊不包含除錯符號的本地庫檔案(native library)。編輯器將會顯示所有您當前APK支援的ABI的列表。
2、點選編輯器視窗的右上角的Add
3、找到您想要關聯的本地可除錯類庫目錄,單擊OK
4、如果APK和除錯的本地庫,使用不同的工作站建立,需要通過以下步驟來指定本地路徑來除錯符號:
5、由下編輯欄位本地路徑新增到失蹤除錯符號本地路徑列路徑對映編輯器視窗的部分,如圖2,IDE自動對映路徑到遠端NDK將本地NDK的下載路徑。
6、點選Apply

這裡寫圖片描述

提供路徑,以本地除錯符號

您現在應該可以在工程視窗看到本地原始檔(native source files)了,然後可以像往常一樣開啟這些原始檔案新增斷點和除錯您的應用程式了。

已知問題:當在安裝除錯符號的APK時,無論是APK和除錯的 .so 檔案必須使用相同的工作站或伺服器構建。

Device File Explorer

從版本3.0開始,Android Studio包括裝置檔案資源管理器,您可以在Android裝置上檢視,複製和刪除檔案。 當檢查由應用程式建立的檔案或要將檔案傳輸到裝置或從裝置傳輸檔案時,這非常有用。
點選 View > Tool Windows > Device File Explorer 或者直接在右側的工具欄視窗點選 Device File Explorer就可以開啟裝置檔案資源管理器。

這裡寫圖片描述

裝置檔案資源管理器工具視窗

然後你就可以跟之前在DDMS中一樣進行類似的檔案操作了。

在檔案資源管理器視窗的裝置內容進行互動。對檔案或目錄的右鍵單擊建立新的檔案或目錄,選定的檔案或目錄儲存到你的機器,上傳,刪除,或同步。雙擊檔案即可在Android Studio中開啟它。

注: Android Studio會在你的專案之外的一個臨時目錄中儲存你開啟的檔案,如果你使用Device File Explorer開啟檔案並對其進行了修改,並想將這些修改儲存到裝置中的檔案,則必須手動將修改之後的檔案上傳到裝置中。

Java 8 Language Features

Android Studio現在支援使用一些Java 8的語言新特性,並使用這些第三方庫的內建支援。

這裡寫圖片描述

Java 8 語言功能支援使用desugar位元組碼轉換。

關於這部分內容,目前還不是很瞭解,就不再做過多的闡述了。有興趣的朋友可以看下官方對這部分的介紹:點選這裡前往(需要翻牆)

本篇內容大部分都是參照官方介紹文件來編寫的,筆者能力有限,如果您在閱讀過程中有什麼疑問或者發現哪裡有描述不準確的地方,歡迎留言指正!謝謝!!