官方詳細介紹Android Studio 3.0 Canary 1
文 / Google Android 產品經理 Jamal Eason
借 Google I/O 2017 的東風,Android Studio 3.0 今天就可以在我們的 Canary 釋出渠道上下載。Android Studio 是我們專為 Android 而構建的官方 IDE,我們不斷加大投入,改進該 IDE。Android Studio 中的功能集側重於加快您的應用開發流並提供針對 Android 平臺構建的最新工具。
為加快您的開發流,Android Studio 3.0 包含了三大主要功能:
一套全新的應用效能分析工具,用於快速診斷效能問題;
支援 Kotlin 程式語言;
加快大規模應用專案的 Gradle 構建速度。
Android Studio 3.0 還緊密整合了 Android 平臺開發工具,提供以下附加的重要功能:
支援免安裝應用的開發;
在 Android O 模擬器系統映像中包含 Google Play 商店;
以及全新的 Android O 開發嚮導。
總而言之,Android Studio 3.0 的第一個 Canary 版本包含 20 多項新功能。
我們一直在 Android Studio 2.4 的各個 Canary 版本中默默地引入其中許多功能。直到今天,我們發現,我們已經新增了許多重要功能,並且,為了改善可伸縮性和縮短構建時間,我們必須在 Android Gradle 外掛中引入一項罕見的突破性改動,於是,我們將此版本重新編號為 Android Studio 3.0。如果您希望針對 Android O 開發應用,希望建立免安裝應用,希望使用 Kotlin 語言開始開發,或者希望使用最新的 Android 應用效能工具來提升應用質量,那麼,您應立即下載 Android Studio 3.0 Canary 1。
▲ Android DevByte - Android Studio 3.0 Canary 1 中的新增功能
下面是按主要開發流編排的功能列表,從中可以查閱 Android Studio 3.0 的第一個 Canary 版本中各項新增功能的詳細資訊。
開發
Kotlin 程式語言
應廣大開發者的熱切呼聲,Android Studio 3.0 現在包含對 Kotlin 的支援。憑藉對此新語言的支援,您可以在現有 Android 應用程式碼的旁邊無縫新增 Kotlin 程式碼,還可訪問 Android Studio 中提供的所有優秀開發工具。您可以選擇使用 Code → Convert Java File to Kotlin File 中提供的內建轉換工具將 Kotlin 新增到您的專案,也可以選擇使用 New Project 嚮導建立啟用 Kotlin 的專案。詳細瞭解 Android 和 Android Studio 中的 Kotlin 語言支援。
▲ Android Studio 中的 Kotlin 語言轉換
Java 8 語言功能
我們繼續完善對 Java 8 語言功能和 API 的支援。由於最近棄用 Jack 工具鏈並遷移到基於 javac 的工具鏈,對於使用 Java 8 語言功能的專案,您可以在 Android Studio 中訪問許多新功能,例如 Instant Run。要更新您的專案以支援全新 Java 8 語言工具鏈,只需在 Project Structure 對話方塊中將您的 原始碼 和 目的碼 相容性級別更新至 1.8。
▲ 更新 Java 8 語言的 Project Structure 對話方塊
佈局編輯器
在此版本 Android Studio 中,您會發現針對佈局編輯器的更多增強功能。我們更新了元件樹,提供更好用的拖拽式檢視插入功能以及全新的錯誤皮膚。為配合對 ConstraintLayout 的更新,佈局編輯器還支援建立檢視 Barrier 和 Group,並增強了鏈建立功能。
▲ 佈局編輯器元件樹和警告皮膚
Adaptive Icon 嚮導
Android O 引入了自適應啟動器圖示,其可以在不同的 Android 裝置上顯示為不同的形狀。全新 Adaptive Launcher Icon 嚮導可建立新舊兩種版本的啟動器圖示資源並可預覽自適應圖示在不同啟動器螢幕圖示蒙版上的外觀。建立新資源的方法是:右鍵點選專案中的 /res 資料夾,然後導航至 → New → Image Asset → Launcher Icons (Adaptive and Legacy) 。
XML 字型和可下載字型
現在,使用 Android Studio 中的 XML 字型預覽和字型選擇工具可以為您的應用(針對 Android O 的應用)更輕鬆地新增自定義字型。您也可以為您的應用建立可下載的字型資源。使用可下載的字型,您將可以在應用中使用自定義字型,同時又不需要在 APK 中捆綁字型資源。要使用可下載字型,請確保您的裝置或模擬器執行的是 Google Play 服務 11.2.63 版或更高版本。
▲ 可下載字型資源選取器
▲ XML 字型預覽
Android Things 支援
藉助於 Android Studio 3.0,您可以使用 New Project 嚮導和 New Module 嚮導中的一組新模板來開始開發 Android Things。Android Things 允許您將自己的 Android 開發知識擴充到物聯網 (IoT) 裝置類別。
▲ Android Things New Module 嚮導
IntelliJ 平臺更新:
Android Studio 3.0 Canary 1 包含 IntelliJ 2017.1 版本,其包含 Java 8 語言重構、引數提示、語義突出顯示、可拖拽的斷點、增強的版本控制搜尋等功能。
版本
免安裝應用支援
利用 Android Studio 3.0,您可以在專案中建立免安裝應用。免安裝應用是一種輕巧的 Android 應用,使用者無需安裝即可直接執行該應用。為支援免安裝應用,Android Studio 引入了兩種新模組型別:免安裝應用和功能。結合全新的“模組化”重構操作和應用連結助手,Android Studio 可以幫助您將現有應用擴充為免安裝應用。為使用此功能,您可以使用 New Module 嚮導或右鍵點選某個類並導航至:Refactor → Modularize。
▲ Instant App Module 嚮導
構建速度的提升
我們繼續努力提升構建速度。在此版本中,我們側重於提升包含大量模組的專案的構建速度。為提升這些專案的構建速度並支援未來的增強功能, 我們對 Android Studio 所使用的 Android Gradle 外掛的 API 做出了顛覆性的改動。如果您依賴於之前版本的外掛所提供的 API,您應驗證與新外掛的相容性並遷移到適用的 API。在您的 build.gradle 檔案中測試和更新外掛版本。
build.gradle
Google 的 Maven 儲存區
此外,應廣大開發者的熱切呼聲,現在,我們以全新 Maven 儲存區的形式在 Android SDK 管理器外部分發 Android 支援庫的 Maven 依賴項。對於使用持續整合 (CI) 系統開發的人來說,這樣可以簡化 Maven 依賴項的管理。結合最新的命令列 SDK 管理器工具和 Gradle 使用時,使用 Google 的 Maven 儲存區應該能夠簡化 CI 構建的管理。要使用全新 Maven 的位置,請在應用模組的 build.gradle 檔案中新增以下網址。
build.gradle
測試和除錯
Google Play 系統映像
在更新 Android O Beta 版本的同時,我們也更新了 Android Emulator O 系統映像,使之包含 Google Play 商店。捆綁 Google Play 商店讓您能夠使用 Google Play 端到端地測試應用,同時也方便您在 Android Virtual Device (AVD) 中使 Google Play 服務保持最新狀態。就像實際裝置上的 Google Play 服務更新一樣,您也可以在 AVD 上啟用同樣的更新。
▲ Android Emulator 中的 Google Play 商店
▲ 更新 Android Emulator 中的 Google Play 服務
為確保應用安全性以及與實際裝置一致的體驗,包含 Google Play 商店的模擬器系統映像已使用釋出金鑰簽名。這意味著您將無法獲得高階許可權。如果您要求使用高階許可權 (root) 來幫助您排查應用問題,您可以使用不包含 Google 應用或服務的 Android 開放原始碼專案 (AOSP) 模擬器系統映像。要開始,請確保您使用的是 Android Emulator v26.1+ 和最新的系統映像 API 24+,然後使用裝置定義旁邊的 Google Play 圖示建立一個新 AVD。
▲ 包含 Google Play 商店支援的 Android Virtual Device 管理器
Android Emulator 中的 OpenGL ES 3.0 支援
我們不斷投資,努力給您帶來快速開發體驗,最新版的 Android Emulator 針對 Android O 系統映像引入了 OpenGL ES 3.0 支援,針對舊版模擬器系統映像,則大幅增強了 OpenGL ES 2.0 的圖形效能。在所有作業系統中,大多數最新的顯示卡均支援 OpenGL ES 2.0 加速。要將 OpenGL ES 3.0 與 Android Emulator 配合使用,開發計算機需要在 Microsoft® Windows® 或 Linux(即將支援 Apple MacOS®)中支援 OpenGL 3.2 或更高版本的主機 GPU 顯示卡。
▲ Android Emulator 中的 OpenGL ES 3.0
Android Emulator 中的應用錯誤報告程式
為幫助記錄應用中的錯誤,我們新增了一種更簡便的錯誤報告生成方法,該報告程式提供所有必要的配置設定以及捕獲重現步驟的空間。另外,我們還新增了一個連結,以便您在想要與 Android 團隊分享特定模擬器錯誤時,能夠在 Android Issue Tracker 中快速生成錯誤。要使用此功能,請導航至 Emulator Tool Bar → Extended Controls → Help → Emulator Help → File a Bug。
▲ Android Emulator 中的應用錯誤報告
Android 中的代理支援
針對那些需要使用 HTTP 代理訪問網際網路的使用者,我們新增了一個使用者介面,可用於管理模擬器所使用的代理設定。現在,預設情況下,Android Emulator 會使用 Android Studio 中的設定,但您可以在您的網路設定中替換這些設定。要進行配置,請導航至 Extended Controls → Settings → Proxy。
▲ Android Emulator 代理設定
Android Emulator 中的 Android Wear 旋轉控制元件
現在,Android Emulator 支援 Android Wear 2.0 模擬器系統映像的旋轉控制元件。現在,對於針對包含旋轉輸入滾動功能的 Android Wear 裝置的應用,測試將更加簡單。要啟用此功能,請建立針對 Android Wear 的 Emulator AVD,Rotary Input 皮膚應出現在擴充套件控制元件下面。
▲ Android Emulator 中的旋轉輸入
APK 除錯
現在,針對不想在 Android Studio 中構建專案、只想在其中除錯 APK 的開發者,Android Studio 3.0 版本加入了除錯任意 APK的功能。對於在其他開發環境編寫 Android C++ 程式碼而想在 Android Studio 環境中除錯和分析 APK 的使用者而言,此功能尤為有用。只要您有可除錯版本的 APK,您就可以使用新的 APK 除錯功能來靜態分析、動態分析和除錯 APK。而且,如果您可以訪問 APK 的原始碼,您可以將此原始碼連結到 APK 除錯流,以提高除錯流程的保真度。只需在 Android Studio Welcome Screen 中選擇 Profile or debug APK 或選擇 File → Profile or debug APK,即可使用此功能。
▲ 分析或除錯 APK
▲ APK 除錯
佈局檢查器
您會發現,Android Studio 3.0 中的佈局檢查器提供幾項增強功能,簡化了應用佈局問題的除錯。這幾項增強功能包括更好地將屬性分組到常用分類中,以及 View Tree 和 Properties 皮膚中的搜尋功能等。在應用執行時,通過 Tools → Android → Layout Inspector 訪問佈局檢查器。
▲ 佈局檢查器
裝置檔案瀏覽器
應廣大使用者的熱切呼聲,我們將裝置檔案瀏覽器從 DDMS 移植到 Android Studio 中,新的瀏覽器允許檢視 Android 裝置或模擬器的檔案和目錄結構。現在,您在測試應用時,可以直接在 Android Studio 中快速預覽和修改應用資料檔案。
▲ 裝置檔案瀏覽器
優化工具
Android 分析器
Android Studio 3.0 包含全新的工具包,以幫助除錯應用的效能問題。我們對之前的 Android Monitor 工具集進行徹底重寫,代之以 Android 分析器。您將應用部署到正在執行的裝置或模擬器後,點選 Android Profiler 標籤,即可在實時、統一的檢視中訪問應用的 CPU、記憶體和網路活動。每個效能事件對映到 UI 事件時間線中,該時間線突出顯示觸控事件、按鍵和活動變更,以便您更清楚地瞭解特定事件發生的時間和原因。 點選每個時間線,深入瞭解應用的效能情況。
▲ Android 分析器 - 時間線組合檢視
CPU 分析器
不必要的 CPU 處理和負載峰值是應用效能不佳的徵兆。有了 CPU 分析器,您可以觸發一個樣本或測試的 CPU 跟蹤檔案,分析應用的 CPU 執行緒使用情況。然後,您可以使用 CPU 分析器中內建的各種資料檢視和過濾器排查 CPU 效能問題。瞭解詳情。
▲ CPU 分析器
記憶體分析器
記憶體使用效率低,可能導致許多裝置問題,包括 UI 反應遲鈍和記憶體不足事件等。記憶體分析器將之前的堆檢視器和分配跟蹤器的功能整合到一個豐富的介面中,幫助除錯應用中的記憶體使用問題。您可以通過分析記憶體分配、堆轉儲等來診斷各種記憶體問題。
▲ 記憶體分析器
網路分析器
通過優化應用的前臺和後臺網路使用情況,可以提高應用效能和減少應用流量消耗。通過網路分析器,您可以監控應用的網路活動,檢查每個網路請求的有效負載,連結回生成網路請求的原始碼行。現在,網路分析器可與 HttpURLConnection、OkHttp 及 Volley 網路庫配合使用。網路分析器是一項高階分析功能,可在 Android O 之前版本的裝置和模擬器上啟用,方法是:在 Run Configuration 框的 Profiling 標籤中選中 Enable Advanced Profiling 。除了啟用網路請求和有效負載分析外,此核取方塊還可以啟用最高等級事件收集、記憶體物件計數和記憶體垃圾回收。對於基於 Android O 的裝置和模擬器,只需部署應用即可。
▲ 網路分析器
▲ Android O 之前版本的裝置中的網路分析器設定
APK 分析器增強功能
在 Android Studio 3.0 中,我們對 APK 分析器新增了一些額外的增強功能,以幫助您進一步減小 APK 的大小。通過此功能更新,您現在可以分析免安裝應用的 Zip 檔案和 AAR,檢視類和方法的 dex 位元組碼。您還可以生成 Proguard 配置規則和在 dex 檢視器中載入 Proguard 對映檔案。
▲ APK 分析器
概言之,Android Studio 3.0 Canary 1 包含以下重要的新功能:
開發
Kotlin 語言
Java 8 語言
佈局編輯器增強功能
Adaptive Icon 嚮導
XML 字型和可下載字型
Android Things
Intellij 平臺更新 2017.1
構建
免安裝應用支援
構建速度的提升
Google 的 Maven 儲存區變更
測試和除錯
Emulator Google Play 系統映像
Emulator OpenGL ES 3.0 支援
Emulator 代理支援
應用錯誤報告程式
Android Wear 旋轉輸入
APK 除錯
佈局檢查器
裝置檔案瀏覽器
優化工具
CPU 分析器
記憶體分析器
網路分析器
APK 分析器增強功能
入門指南
下載
如果您使用的是之前版本的 Android Studio,您可以與穩定版並行安裝 Android Studio 3.0 Canary 1。您可以從官方 Android Studio 預覽版下載頁面下載此更新。如本文所述,為了支援此 IDE 中的一些新功能,對 Gradle Plugin API 做出了一些顛覆性的改動。因此,您也應在當前專案中將 Android Gradle 外掛版本更新至 3.0.0-alpha1,測試和驗證您的應用專案設定。
我們感謝您提供有關您喜歡的特性、存在的問題或希望看到的功能的任何反饋意見。如果您發現錯誤或問題,歡迎隨時向我們提交問題。在我們的 Google+ 資訊頁或 Twitter 上與我們(Android Studio 開發團隊)聯絡。
瞭解更多詳情,檢視文內所有連結,請點選文末“閱讀原文”。
點選「閱讀原文」,檢視文內連結
相關文章
- 谷歌官方詳細介紹 AS 3.0 Canary 1谷歌
- Android Studio 3.0 Canary 釋出Android
- Android Studio 3.0新功能介紹Android
- Android中Context的詳細介紹AndroidContext
- javascript this詳細介紹JavaScript
- JDBC 詳細介紹JDBC
- Kafka詳細介紹Kafka
- Git詳細介紹Git
- Android Studio 4.1 Canary 版本釋出Android
- Git學習1 --- 版本控制工具詳細介紹Git
- Go Channel 詳細介紹Go
- Nacos 介面詳細介紹
- MQ詳細命令介紹MQ
- Recovery命令詳細介紹
- Vmstat 命令詳細介紹
- Android Studio 2.0 功能介紹Android
- web3.0系統開發技術詳細介紹與分析Web
- Flutter系列(一)——詳細介紹Flutter
- Nginx服務詳細介紹Nginx
- python字典詳細介紹Python
- Spring bean詳細介紹SpringBean
- Http Module 的詳細介紹HTTP
- Java異常詳細介紹Java
- 【SCN】Oracle SCN 詳細介紹Oracle
- SOLIDWORKS API詳細介紹SolidAPI
- Webpack 打包 Javascript 詳細介紹WebJavaScript
- mysql binlog詳細介紹MySql
- java泛型詳細介紹Java泛型
- 【工具】Sublime使用詳細介紹
- asmcmd工具的詳細介紹ASM
- json詳細介紹(for Java)JSONJava
- Mysqldump工具的詳細介紹MySql
- rman超詳細命令介紹
- Aix 上NFS詳細介紹AINFS
- ApplicationContext 詳細介紹APPContext
- Android Studio 2.0 to Android Studio 3.0Android
- 鏈動2+1系統開發詳細介紹
- TreeViewTemplate移動元件詳細介紹View元件