国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android Studio 3.0 新功能全面解析和舊項目適配問題

2019-10-22 18:24:21
字體:
來源:轉載
供稿:網友

簡介:

Android Studio是Android的官方IDE。它是專為Android而打造,可以加快您的開發速度,幫助您為每款Android設備構建最優應用。

它提供專為Android開發者量身定制的工具,其中包括豐富的代碼編輯、調試、測試和性能分析工具。

上周四,Google 終于在經歷大半年的打磨錘煉之后正式發布 Android Studio 3.0 版本,給廣大安卓開發人員一份滿意的答卷。如往常一樣,每次新版開發工具的發布,很多謹慎點的朋友仍擔心穩定性、是否存在坑等問題,選擇隔岸觀火,等一段時間再更新升級。

經過查看官網對新版開發工具的新功能介紹之后,當天我就選擇了升級。事實上,我也的確折騰良久,但是截至目前,沒有發現所謂的坑。只是需要對舊的工程做一些配置上的調整而已。各方面響應速度和新功能的使用,總體還是覺得值得升級。這篇文章,就來介紹新版開發工具給我們帶來哪些實用的改變,并以實際操作經驗告訴大家,舊工程的配置需要如何做兼容修改。

3.0 帶來的改變

Kotlin Support

在 Android Studio 3.0 之前,使用 Kotlin 語言開發安卓應用,需要額外配置 Kotlin 插件。而新版本內置默認支持 Kotlin 語言,來減少我們在配置上的工作。

選擇工具欄 Code -> Convert Java File To Kotlin File,或者使用快捷鍵的形式,你可以一鍵實現 Java 文件到 Kotlin 文件的轉換。

android,studio,3.0,新功能,舊項目適配

備注:關于快捷鍵的使用,你可以使用 Command + Shift + A 這組快捷鍵打開 Find Action 窗口,輸入關鍵字尋找對應功能及其快捷鍵,效果就像上面 Gif 圖展示的這樣。

Java 8 Support

3.0 對 Java 8 語言特性的默認支持使你不用在 build.gradle 配置文件中添加 jackOptions 一項。如果你有使用到的話,記得刪除:

android { ... defaultConfig { ... // Remove this block. jackOptions { enabled true ... } }}

選擇工具欄 File ——》Project Structure,修改 Source Compatibility 和 Target Compatibility 選項到 1.8 即可使我們的項目支持 Java 8 語言特性。

android,studio,3.0,新功能,舊項目適配

Android Profiler

過去我們使用的 Android Monitor 工具從 3.0 版本開始被 Android Profiler 替代掉了。如圖,run 按鈕一欄多了一個 Android Profiler 按鈕:

android,studio,3.0,新功能,舊項目適配

Android Profiler 提供有 CPU、Memory 和 Network 三大調試分析利器,實時跟蹤 Apk 的運行狀態,可以幫助我們可視化地做一些性能調優工作。

這三個工具在開發階段非常實用,比如 CPU Profiler 能夠分析應用中的線程使用情況,Memory Profiler 能夠檢測出內存泄漏,Network Profiler 能夠攔截網絡請求實現抓包功能等。這里列舉一些使用圖片,簡單預覽一下這三大工具的風采:

android,studio,3.0,新功能,舊項目適配

android,studio,3.0,新功能,舊項目適配

android,studio,3.0,新功能,舊項目適配

有關這幾個工具的詳細使用細節,可以參考官方的介紹:

Device File Explorer

這個功能厲害了。新版開發工具帶來的資源管理器允許我們訪問連接設備的文件系統,實現 PC 端到手機或模擬器端的便捷文件傳輸。有了這個工具,從此就可以告別之前使用的「文件傳輸助手」等第三方工具啦。

android,studio,3.0,新功能,舊項目適配

Adaptive Icons wizard

選擇 File -> New -> Image Asset,利用 Android Studio 提供的工具創建圖片資源一直以來也是開發利器之一。現在,這個工具開始支持 vector drawables 格式,并且能夠創建用于適配 Android 8.0 系統上各種形狀的桌面圖標。

android,studio,3.0,新功能,舊項目適配

URL intent-filter validator

這個功能也蠻貼心的。Manifest 清單文件開始支持一個特殊的標簽,用于測試給定的 Url 字符串是否符合 intent-filter 標簽內容所定義的規則。舉個例子:

android,studio,3.0,新功能,舊項目適配

如圖,這里使用 data 標簽定義一個 Url 規則,并使用 tools:validation 標簽驗證一個錯誤的測試 Url 地址,檢測器能夠自動識別并給出錯誤提示。這個例子很簡單,肉眼一眼就能看出錯誤。那如果是比較復雜的規則呢,可能就不那么容易看得出來。這個時候,這個工具就可以派上用場啦。

APK Analyzer

3.0 版本對 APK Analyzer 的功能做了進一步強化。主要在于:對于使用 ProGuard 混淆過的 APK 文件,我們能夠上傳 mapping.txt 文件進行代碼還原;Dex 文件提供顯示各個包目錄的大小;等等。

android,studio,3.0,新功能,舊項目適配

其他功能

除了上面介紹的這些變化,還有一些其他大大小小的變更。比如 Layout Inspector 和 Layout Editor 工具在 UI 上有所調整,比如 App Links Assistant 和 Firebase App Indexing Assistant 的強化使用,這些留著大家自己去探索發現吧。也可以訪問 Android Studio Release Notes 官網,了解 3.0 版本的更多發布細節。

舊項目的適配

Android Studio 3.0 發布的同時,Android Plugin for Gradle 3.0.0 也同時發布。編譯速度整體都得到了大幅提升。升級完 Android Studio 之后,舊的工程需要做出部分改變,才能通過 Gradle 的編譯。這里根據我的一個實際項目,介紹一下需要改變的內容。當然,也許你的項目用不上這些,也可能不止這些。

distributionUrl

Plugin 3.0.0+ 需要配置 Gradle 的最小版本是 4.1,我們可以通過 File -> Project Structure -> Project 的方式設置 Android Plugin 的版本,或者修改 gradle.properties 文件的內容,添加 distributionUrl 屬性:

distributionUrl=https/://services.gradle.org/distributions/gradle-4.1-all.zip

Google's Maven repository

新版 Android Studio 工具默認使用 Google's Maven Repository 用于下載依賴 Android Support Library,替代了 Android SDK Manager 的本地依賴方式。所以,需要在工程根目錄下的 build.gradle 文件中添加 google() 一行代碼:

allprojects { repositories { google() }}

buildToolsVersion

Android Plugin For Gradle 3.0.0 默認自動添加插件所需要用到的最小版本的編譯工具。所以,我們不需要再手動在 build.gradle 添加一行 buildToolsVersion 屬性的代碼。對于舊的項目,可以去掉這行配置,比如:

android { compileSdkVersion 26 // remote buildToolsVersion buildToolsVersion "25.0.2" ...}

flavor dimensions

Plugin 3.0.0 開始,如果 build.gradle 自定義有 productFlavors 配置的話,需要添加定義 flavorDimensions(風味維度)。否則,編譯報錯:

rror:All flavors must now belong to a named flavor dimension.The flavor 'flavor_name' is not assigned to a flavor dimension.

flavorDimensions 的出現使得構建變種類型更加多樣化:

可構建的變種數量 = 風味維度的數量 * 構建類型的數量

詳細使用可參考 配置構建變體。對于舊項目,簡單的話,可以隨意定義一個風味維度,保證編譯通過,如(這里的“minApi”可自由定義):

flavorDimensions "minApi"productFlavors { beta { dimension "minApi" ... } production { dimension "minApi" ... }}

each() 和 outputFile()

Plugin 3.0.0 版本移除了一些用于編譯配置的 API,其中比較常見的就是 each() 和 outputFile(),兩個常用于修改輸出

Apk 文件名和路徑的方法。

在之前的文章 Android Gradle 常用使用場景實現方式的總結 中有提到,自定義輸出 APK 文件名可以這樣做:

android { android.applicationVariants.all { variant -> variant.outputs.each { output -> output.outputFile = new File(output.outputFile.parent, rootProject.getName()  + "-" + buildType.name  + "-" + releaseTime()  + "-v" + defaultConfig.versionName  + "-" + defaultConfig.versionCode  + ".apk"); } }}

但是使用 Plugin 3.0.0 時就會出現編譯報錯,我們需要修改 each() 和 outputFile() 方法為 all() 和 outputFileName,比如:

android { android.applicationVariants.all { variant -> variant.outputs.all {  outputFileName = rootProject.getName()  + "-" + buildType.name  + "-" + releaseTime()  + "-v" + defaultConfig.versionName  + "-" + defaultConfig.versionCode  + ".apk"; } }}

對于舊的工程,基本上便是這些配置上的適配修改。如果你還遇到了別的問題,別緊張,按照編譯錯誤提示一步步操作,也能成功通過編譯。總體來說,這次 Android Studio 3.0 和 Plugin For Gradle 3.0.0 的發布還是非常值得升級嘗試的,并沒有網上說的那么多坑。何況,我們作為寫代碼的程序員,本來不就是為了解決問題而來嘛。

總結

以上所述是小編給大家介紹的Android Studio 3.0 新功能全面解析和舊項目適配問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VEVB武林網網站的支持!


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宜都市| 徐州市| 登封市| 南皮县| 右玉县| 怀宁县| 平罗县| 邵武市| 南康市| 略阳县| 博乐市| 沂南县| 册亨县| 蒙阴县| 龙游县| 太湖县| 彩票| 都兰县| 江津市| 集安市| 绥德县| 亳州市| 北流市| 平阳县| 井研县| 肃北| 龙陵县| 辽阳市| 五莲县| 田东县| 宾川县| 临高县| 澎湖县| 什邡市| 临颍县| 阿拉善右旗| 临夏县| 海城市| 阜南县| 枞阳县| 平乡县|