1. 程式人生 > >AndroidStudio3.0 下載使用新功能介紹

AndroidStudio3.0 下載使用新功能介紹

谷歌2017釋出會更新了挺多內容的,而且也釋出了AndroidStudio3.0預覽版,一些功能先睹為快。(英語一般,有些翻譯不太好)

下載地址

選擇顯示全部即可看到下載地址,這裡給出來了。

安裝

可以和你之前安裝的穩定版共存的,把壓縮包的資料夾解壓放到別的目錄即可。

啟動studio64.exe(如果您執行的是 32 位計算機,則啟動 studio.exe)

變更您的更新方式
預設情況下,每個 Android Studio 安裝都會通過您最初下載時所用的渠道(Canary、測試版或穩定版)接收更新。 如果您希望變更某個安裝的更新渠道,請執行以下步驟:

  • 在 Android Studio 中,選擇 File > Settings (或者,在 Mac 上,選擇 Android Studio > Preference)。
  • 在左側面板中,選擇 Appearance & Behavior > System Settings > Updates。
  • 確保已選中 Automatically check for updates,然後從下拉列表中選擇一個渠道。

在您的渠道有新版本 Android Studio 可用時,您將在 IDE 中收到一個氣泡通知。 如果您最初選擇了忽略該通知,您也可以稍後通過點選 Help > Check for Update(或者,在 Mac 上,點選 Android Studio > Check for Updates)來檢查更新。

新功能

ide的改變

  • 更新了基礎ide到idea的2017.1版本,包括引數提示,語義突出顯示,搜尋中的即時結果等等。
  • 更多新的lint檢查
  • Instant run修復了issue234401 的問題,如果程式在斷點上暫停,app就重新啟動,但是如果應用程式沒有在斷點上暫停,那麼當您只進行方法實現更改時,不應重新啟動並且熱插拔應該工作

kotlin語言支援

Android Studio 3.0包括對Kotlin語言的支援,通過將Java檔案轉換為Kotlin(單擊Code>Convert Java File to Kotlin File)或通過使用new Project嚮導建立啟用Kotlin的新專案,可將Kotlin合併到專案中。

點選瞭解有關Kotlin和Android的更多資訊

支援Java8

Android Studio 3.0引入了對Java 8庫和某些Java 8語言功能的內建支援,Jack不再是必需的,你首先應該禁止Jack使用改進的java 8支援內建的預設工具。點選瞭解更多資訊。 (以前是通過jack來支援java8的,現在可以拋棄了,自帶支援)

新的探查器

Android Studio中3.0提供您的應用程式的活動的實時、統一的檢視。而Android Profiler視窗取代了Android的監控 視窗。要開啟Android的探查器,請按照下列步驟操作:

  • View > Tool windows > Android Profiler (你也可以點選工具欄中的image
  • 選擇您想要從Android探查器工具欄配置的裝置和應用程式,點選network,CPU或MEMORY時間表開啟每個探查的更詳細檢視。

image

有關每個新的探查器的更多資訊,請參閱下一篇文章

由於更新了這一部分,logcat已移至單獨的視窗

即時應用(Instant App)的支援

Android Studio 3.0允許您在專案中使用兩種新的模組型別:即時應用模組和功能模組來建立即時應用

image

Android Studio 3.0還包括一個新的重構模組化操作和App Links Assistant,以幫助您實施即時應用。有關Instant Apps的詳細資訊,請參閱Android Instant Apps

APK Debugger(APK除錯者)

Android Studio 3.0中的新版APK偵錯程式可讓您配置和除錯APK,而無需從Android Studio專案中構建它們,只要它們是可除錯的。 更多資訊參閱Profile and Debug Pre-built APKs

新的檔案管理器

新的裝置檔案資源管理器工具視窗允許您與連線的裝置的檔案系統無縫互動。

image

您可以點選檢視手機中的各種檔案,並將檔案複製到您的計算機。此功能取代了以前通過DDMS的檔案系統管理。 這點非常贊,以前複製檔案可是麻煩得一筆。

支援Andriod O 開發者預覽

ndroid Studio 3.0增加了對Android O的支援,其中包括:

  • 一個新的自適應圖示嚮導,允許您建立新的自適應啟動器圖示資源,並在不同的裝置上進行預覽。啟動自適應圖示嚮導方法是: 右鍵你專案的res資料夾,然後點選 New > Image Asset > Launcher Icons (Adaptive and Legacy).,更多資訊請檢視Adaptive Icons

  • 新的XML字型預覽,字型選擇工具以及對可下載字型的支援,更多資訊請參閱Working With Fonts

新模板

Android Studio 3.0在新專案和新模組嚮導中包含一組新的模板,因此您可以開始使用Android Things開發物聯網裝置,更多請查閱Android Things

佈局編輯器改進

Android Studio 3.0中的佈局編輯器包含許多新的功能增強功能,其中包括:

  • 更新的元件樹,具有改進的拖放檢視插入
  • 新錯誤面板
  • 對檢視障礙和組的支援
  • 增強鏈創造 (這個我也沒懂意思)

佈局檢索改進

Android Studio 3.0中的佈局檢查器包括新的增強功能,可以更輕鬆地除錯應用程式佈局的問題。包括將屬性分組為常規類別,並在View Tree"Properties面板中將新的搜尋功能分組。開啟的方法為:Tools > Android > Layout Inspector

谷歌Maven倉庫

Android Support庫Maven依賴關係現在可以在新的Maven倉庫Android SDK Manager外部使用,結合命令列sdkmanager工具和Gradle,這種新的分發方法簡化了使用連續整合系統的Maven依賴關係管理,要使用新的Maven倉庫,請將URL新增到build.gradle檔案的repository庫中,如下所示:

repositories {
  maven {
    url "https://maven.google.com"
  }
}

APK分析器的改進

Android Studio 3.0對APK分析工具進行了以下改進:

  • 顯示除包之外的欄位,類和方法之外的欄位
  • 頂部顯示和隱藏欄位和方法的新過濾選項
  • 在樹檢視中,以斜體顯示的節點是未在DEX檔案中定義的引用
  • 對於啟用Proguard構建的APK,您可以載入向DEX檢視器新增功能的Proguard對映檔案,其中包括:
    • 粗體表示節點的節點不應該刪除,當收縮編碼
    • 啟用一個按鈕,使得在收縮過程中被刪除的節點可見
    • 啟用一個按鈕,顯示樹檢視中由Proguard混淆的節點的原始名稱

新的Gradle外掛

Android plugin 3.0.0-alpha1及更高版本主要解決大量模組的Android專案的構建效能問題。當使用這些專案的新外掛時,您應該體驗到以下內容:

  • 更快的配置時間,因為延遲了依賴的解析。
  • Variant-aware依賴解決方案僅適用於您正在構建的專案和Variant。
  • 在對程式碼或資源應用簡單更改時,加快增量構建時間。

新的Android模擬器功能

Android模擬器還包括許多新功能,包括以下內容:

  • 新的API Level 24系統映像和Android O Beta系統映像,包括Google Play商店,以促進您的應用程式的端到端測試,並幫助您保持Google Play服務與您的AVDs保持同步。
  • 支援Windows和Linux機器上的OpenGL ES 3.0系統圖像API級別24及更高版本,並在較老的模擬器系統映像上對OpenGL ES 2.0圖形效能進行顯著改進。

    • 提示:目前正盡最大努力使OpenGL ES 3.0能從英特爾、英偉達和AMD的所有gpu自動啟用,如果執行OpenGL ES 3.x應用程式時遇到問題,系統可能尚未自動啟用。您可以通過修改~/.android/advancedFeatures.ini進行手動啟用OpenGL ES 3.0。修改為:GLESDynamicVersion = true
  • 一種新的更簡單的方法來從Android模擬器生成您的應用的錯誤報告。

  • 個新的連結,可以在Android問題跟蹤器上為Android團隊快速提交與模擬器相關的錯誤(Emulator Tool Bar > Extended Controls > Help > Emulator Help > File a Bug)
  • 一個新的UI來配置Android模擬器使用的代理設定。Extended Controls > Settings > Proxy.
  • 在模擬器上支援Android Wear裝置的旋轉輸入

探查器詳解(Android Profiler)

Android Studio 3.0中的新的Android Profiler視窗替代了Android Monitor工具,這些新的分析工具可為應用程式的CPU,記憶體和網路活動提供實時資料。您可以執行sample-based的方法跟蹤程式碼執行、捕獲堆轉儲、檢視記憶體分配和檢查網路傳輸檔案的詳細資訊。

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

  • 點選View > Tool Windows > Android Profiler(你也可以點選工具欄的image).
  • 在Android Profiler視窗的頂部,如圖所示,選擇裝置①和您想要配置的應用程式②。
    如果您已通過USB連線裝置但未看到它,請確保已啟用USB除錯。
    • 如果您使用Android模擬器或已經Root的裝置,Android Profiler將列出所有正在執行的程序,即使它們可能是不可除錯的。當您啟動一個可除錯的應用程式時,該程序是預設選擇的。

Android Profiler現在顯示了一個共享的時間線檢視(下圖),其中包括一個時間線,用於CPU、記憶體和網路使用的實時圖。視窗還包括時間線縮放控制元件③,跳轉到實時更新的按鈕④以及顯示活動狀態,使用者輸入事件和螢幕旋轉事件的事件時間軸⑤。

image

此共享時間軸檢視僅顯示時間線圖。要訪問詳細的分析工具,請單擊與您要檢查的效能資料相對應的圖表。例如,要訪問工具以檢查堆並跟蹤記憶體分配,請單擊MEMORY圖。

有關每個概要分析工具的更多文件,請參閱以下內容:

開啟高階分析器功能

預設情況下並不是所有的分析資料都可見。如果您看到一條訊息,說“Advanced profiling is unavailable for the selected process”,則需要在執行配置中啟用高階分析。

為了顯示高階分析資料,Android Studio必須將監控邏輯注入到已編譯的應用程式中。高階分析提供的功能包括:

  • 所有分析器視窗上的事件時間軸
  • 記憶體分析器中已分配物件的數量
  • 記憶體分析器中的垃圾收集事件
  • 有關Network Profiler中所有傳輸檔案的詳細資訊

要啟用高階概要分析,請按照下列步驟操作:

  • 選擇 Run > Edit Configurations
  • 在左窗格中選擇您的應用程式模組。
  • 單擊Profiling選項卡,然後選中Enable advanced profiling.

現在再次構建並執行應用程式就可以訪問完整的概要分析功能集。但是,請注意,高階分析會降低您的構建速度,因此只有在您要開始對應用程式進行概要分析時,才應啟用它。

apk偵錯程式

Android Studio 3.0允許您配置和除錯APK,而無需從Android Studio專案中構建它們。但是,您需要確保使用了APK的除錯版本。

要開始除錯APK,從Android Studio歡迎螢幕上單擊Profile或debug APK。或者,如果你已經打開了一個專案,點選 File > Profile 或者從工具欄點選 debug APK。在下一個對話方塊視窗中,選擇想要匯入Android Studio的APK,然後單擊OK。您應該會看到類似於下圖所示的內容。

image

提示: 當您將APK匯入Android Studio時,IDE會在您的主目錄中建立一個新專案,並製作目標APK的本地副本。

Project窗格中的Android檢視允許您檢查您的APK的以下內容:

  • APK file: 雙擊APK開啟APK分析器。
  • manifests: 從APK中提取出來應用清單。
  • java: 包含Android Studio反彙編的Java程式碼。你的APK的DEX檔案中的smali檔案對應一個Java類。
  • cpp: 如果你的app包含Native程式碼,這個目錄包含了你的native庫(.so檔案)。
  • External Libraries: 包含Android SDK。

您可以立即使用Android profiler來開始測試應用程式的效能,但是profiler目前只適用於app的Java程序。使用斷點來除錯應用程式的Java和native程式碼,您需要首先Attach Java sourcesattach native debug symbols

附加Java源(Attach Java sources)

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

要附加Java源,請按照下列步驟操作:

  • Project窗格中雙擊.smali檔案(使用Android檢視)。開啟檔案後,編輯器將顯示一個黃色警告橫幅,要求您選擇Java源,如上面的圖所示。
  • 單擊編輯器視窗頂部的Attach Java sources
  • 開啟應用程式的java原始檔的目錄,然後單擊open

Project視窗中,IDE將使用相應的.java檔案替換.smali檔案。您現在可以按照通常的方式新增斷點並除錯應用程式。

附加Native除錯符號(Attach native debug symbols)

如果你的apk檔案包括so檔案不包含斷點除錯,IDE會在“Messages”視窗中顯示警告,類似於上圖所示。不附加可除錯Native庫不能除錯APK的Native程式碼或斷點,如果您還沒有這樣做,請確保下載NDK和工具

要附加可除錯的Native庫,請按照下列步驟操作:

  • Project視窗的cpp目錄下,雙擊一個不包含除錯符號的Native庫檔案,編輯器會顯示APK支援的所有ABIs的表。
  • 點選編輯器視窗右上角的ADD
  • 導航到包含要附加的可除錯Native庫的目錄,然後單擊“OK”。
  • 如果APK和可除錯的Native庫是使用不同的工作站構建的,那麼您需要通過以下步驟指定除錯符號的本地路徑:
    • 在編輯器視窗的Path Mappings部分中編輯Local Paths列中的欄位,新增本地路徑到缺失除錯符號,如下圖所示。IDE自動將路徑對映到本地NDK下載中的路徑。
  • 點選 Apply。

image

現在您應該在Project視窗中看到本地原始檔。就可以開啟這些本機檔案新增斷點,並像往常一樣除錯應用程式。

裝置檔案管理器

Android Studio3.0 包括裝置檔案資源管理器,您可以在Android裝置上檢視,複製和刪除檔案。當檢查由您的應用程式建立的檔案或要將檔案傳輸到裝置或從裝置傳輸檔案時j就非常有用。

要檢視硬體裝置上的檔案,必須先設定用於開發的裝置,例如usb除錯。有關更多資訊,請參見在硬體裝置上執行應用程式

要使用裝置的檔案系統,請按照以下步驟操作:

  • Click View > Tool Windows > Device File Explorer , 或單擊工具視窗欄中的image裝置檔案資源管理器按鈕開啟裝置檔案資源管理器。
  • 從下拉列表中選擇一個裝置。
  • 右鍵一個檔案或目錄 可以建立一個新的檔案或目錄、將選中的檔案或目錄儲存到您的機器上、上傳、刪除或同步。雙擊一個檔案可以在Android Studio中開啟它。

Android Studio會將您以這種方式開啟的檔案儲存在專案外部的臨時目錄中,如果您對使用“Device File Explorer”開啟的檔案進行了修改,並希望將更改儲存到手機,則必須手動將該檔案覆蓋回手機。

image

獲取裝置的檔案時,下目錄特別有用:

  • data/data/app_name/ 包含儲存在內部儲存上的應用程式的資料檔案
  • sdcard/ 包含儲存在外部使用者儲存上的使用者檔案(圖片等)

    在裝置檔案瀏覽器中,不是所有檔案都是可見的。例如,在data/data/目錄中,與未除錯裝置上的應用程式對應的條目不能在裝置檔案瀏覽器中展開。

使用Java 8語言功能

Android Studio 3.0預覽1及更高版本支援所有Java 7語言功能和Java 8語言功能的一部分,這些功能因平臺版本而異。此頁面描述了可以使用的Java 8語言功能,如何正確配置專案以使用它們以及您可能遇到的任何已知問題。

在開發Android應用程式時,使用Java 8語言功能是可選的。您可以將專案的源和目標相容性值保留為Java 7,但您仍然需要使用JDK 8進行編譯。

Android Studio現在提供內建支援使用某些Java 8語言功能和使用它們的第三方庫。如下圖所示,預設的工具實現了新的語言功能,通過執行位元組碼轉換,稱為desugar,對javac編譯器的輸出。jack不再被支援,你首先應該關閉jack,使用改進的java 8支援內建的預設工具。

image

要開始使用支援的Java 8語言功能,請將Android外掛更新為3.0.0-alpha1(或更高版本),並將以下內容新增到模組的build.gradle檔案中:

android {
  ...
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
}

如果Android Studio檢測到您的專案正在使用Jack,RetrolambdaDexGuard,則IDE會使用這些工具提供的Java 8支援。但是,請考慮遷移到預設工具內建工具

支援的Java8語言特性和API

Android Studio不支援所有Java 8語言功能,但將來會在IDE中新增更多功能。根據您正在使用的minSdkVersion,某些功能和API現在可以使用,如下表所述。

Java 8語言特性 相容的minSdkVersion
所有版本,但是隻有當lambda的所有值都是可序列化的時,才支援lambda序列化。
所有版本.但是,型別註釋資訊在編譯時可用,但在執行時不可用。此外,平臺支援API級別24和以下的型別,但不支援ElementTypeTYPE_USEElementType.TYPE_PARAMETER

除了對java語言和API 8以上,Android Studio3以及後面的版本會支援所有Android API級別使用try-with-resources

遷移到預設工具

如果Android Studio發現您的專案使用的是Jack、Retrolambda或DexGuard,那麼IDE將使用這些工具提供的Java 8支援。但是,與預設的工具鏈相比,這些工具少一些功能和支援。因此,請按照本節中的說明遷移到Android Studio的預設工具。

從Jack遷出
Jack工具已經被棄用了,按照 這個公告 , 如果您的專案使用了Jack,您應該遷移到使用Android Studio內建的Java8預設工具,使用預設工具還包括對使用Java 8語言功能的第三方庫的支援,Instant Run,和依賴於中間.class檔案的工具。

要禁用Jack並切換到預設工具,只需從模組的build.gradle檔案中刪除jackOptions塊:

android {
    ...
    defaultConfig {
        ...
        // 移除下面這一塊
        jackOptions {
            enabled true
            ...
        }
    }

    // 保持以下配置
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

從Retrolambda遷移
與Android Studio的預設工具鏈相比,Retrolambda不支援使用Java 8語言功能的第三方庫。要遷移到預設工具鏈,請從專案級build.gradle檔案中刪除Retrolambda依賴關係:

// 移除以下外掛
apply plugin: 'me.tatarka.retrolambda'
...
// 遷移有用的配置後,刪除此塊。
retrolambda {
    ...
    //如果您有要保留的Java VM的引數
    // 將它們移動到專案的gradle.properties檔案
    jvmArgs '-Xmx2048m'
}

禁用對Java 8語言功能的支援

如果您遇到與Java 8語言功能的新支援相關的問題,可以通過將以下內容新增到gradle.properties檔案來禁用它:

android.enableDesugar=false

下一篇詳解 cpu、記憶體、網路這三個探測器