Android Studio 和 Android Gradle 外掛程式的已知問題

本頁記錄 Android Studio Dolphin | 2021.3.1 和 Android Gradle 外掛程式 7.3.0 的已知問題。如果您遇到此處未提及的問題,請回報錯誤

升級至預先發布版:每個版本的 Android Studio 和 Android Gradle 外掛程式都旨在提高穩定性和效能,並增加新功能。如要立即體驗新版本的優點,請下載並安裝 Android Studio 預先發布版

Android Studio 的已知問題

本節說明 Android Studio 最新穩定版本中存在的已知問題。

轉譯 Compose 預覽時發生錯誤

自 Android Studio Chipmunk 起,如果問題面板中顯示 java.lang.NoSuchFieldError: view_tree_saved_state_registry_ownerjava.lang.ClassNotFoundException: androidx.savedstate.R$id,請務必將 debugImplementation 依附元件加到模組中的 androidx.lifecycle:lifecycle-viewmodel-savedstate

如果問題面板中顯示 java.lang.NoSuchFieldError: view_tree_lifecycle_owner,請務必將 debugImplementation 依附元件加到模組中的 androidx.lifecycle:lifecycle-runtime

如果問題面板中顯示 java.lang.NoClassDefFoundError: Could not initialize class androidx.customview.poolingcontainer.PoolingContainerjava.lang.NoClassDefFoundError: androidx/customview/poolingcontainer/PoolingContainerListener,請務必將 debugImplementation 依附元件加到模組中的 androidx.customview:customview-poolingcontainer

金鑰和 KeyStore 使用不同密碼時會發生錯誤

從 4.2 版開始,Android Studio 是透過 JDK 11 運作。這項更新造成與簽署金鑰相關的基礎行為異動。

當您依序前往「Build」>「Generate Signed Bundle / APK」,並嘗試為應用程式套件或 APK 進行應用程式簽署設定時,為金鑰和 KeyStore 輸入不同的密碼可能會導致以下錯誤:

Key was created with errors:
Warning: Different store and Key passwords not supported for PKCS12 Key stores

為瞭解決這個問題,請為金鑰和 KeyStore 輸入相同的密碼。

安裝 4.2 版後無法啟動 Android Studio

Studio 會嘗試匯入先前的「.vmoptions」並進行清理作業,以便與 JDK 11 所用的垃圾收集器搭配使用。如果這項程序執行失敗,在「.vmoptions」檔案中設定了自訂 VM 選項的某些使用者可能會無法啟動 IDE。

為瞭解決這個問題,建議您在「.vmoptions」中,使用「#」字元註解排除自訂選項。「.vmoptions」檔案位於以下位置:

Windows

C:\Users\YourUserName\AppData\[Local|Roaming]\Google\AndroidStudio4.2\studio64.exe.vmoptions

macOS

~/Library/Application Support/Google/AndroidStudio4.2/studio.vmoptions

Linux

~/.config/Google/AndroidStudio4.2/studio64.vmoptions

如果嘗試上述解決方法後,Studio 仍無法啟動,請參閱下文的「Studio 升級後無法啟動」一節。

使用資料庫檢查器的應用程式在 Android 11 模擬器上停止運作

使用資料庫檢查器的應用程式在 Android 11 模擬器上執行時可能會異常終止,並在 Logcat 中顯示以下錯誤訊息:

 Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR)

如要解決這個問題,請依序前往「Tools」(工具) >「SDK Manager」,將您的 Android 11 模擬器升級至 9 以上版本。在「SDK Platforms」分頁中,勾選標示「Show Package Details」的方塊,然後選取 Android 11 模擬器 9 以上版本。

Studio 升級後無法啟動

如果 Studio 在升級後無法啟動,可能是由於從舊版 Android Studio 匯入的 Android Studio 設定無效,或外掛程式不相容。如要解決這個問題,請嘗試根據 Android Studio 版本和作業系統刪除下列目錄 (或重新命名以便備份),然後重新啟動 Android Studio。這會將 Android Studio 重設為預設狀態,並移除所有第三方外掛程式。

Android Studio 4.1 及以上版本:

  • Windows:%APPDATA%\Google\AndroidStudio<version>
    範例:C:\Users\your_user_name\AppData\Roaming\Google\AndroidStudio4.1

  • macOS:~/Library/Application Support/Google/AndroidStudio<version>
    範例:~/Library/Application Support/Google/AndroidStudio4.1

  • Linux:~/.config/Google/AndroidStudio<version>~/.local/share/Google/AndroidStudio<version>
    範例:~/.config/Google/AndroidStudio4.1~/.local/share/Google/AndroidStudio4.1

Android Studio 4.0 及以下版本:

  • Windows:%HOMEPATH%\.AndroidStudio<version>\config
    範例:C:\Users\your_user_name\.AndroidStudio3.6\config

  • macOS:~/Library/Preferences/AndroidStudio<version>
    範例:~/Library/Preferences/AndroidStudio3.6

  • Linux:~/.AndroidStudio<version>/config
    範例:~/.AndroidStudio3.6/config

請注意,Android Studio Canary 版和 Beta 版的設定目錄是 PreviewX.Y,而不是用 X.Y 來表示 <version>。舉例來說,Android Studio 4.1 Canary 版使用的是 AndroidStudioPreview4.1,而不是用於候選版和穩定版的 AndroidStudio4.1 目錄。

Kotlin 多平台專案中的編譯問題

Kotlin MPP 程式碼可能會因為缺少符號而出現編譯錯誤。將 Kotlin 外掛程式升級至 1.4 版即可解決這個問題。

Linux 上的機碼對應衝突

在 Linux 中,某些鍵盤快速鍵會與預設的 Linux 鍵盤快速鍵和常見的視窗管理工具 (例如 KDE 和 GNOME) 發生衝突。這些衝突的鍵盤快速鍵在 Android Studio 中可能無法正常運作。

如要進一步瞭解這個問題 (包括可能的解決方法),請參閱 IntelliJ 錯誤追蹤工具

Chrome OS 上的小型使用者介面文字

在 ChromeOS 中,文字可能會比先前版本小得多。如要解決這個問題,請按照下列步驟操作:

  1. 依序點選「File」>「Settings」,開啟「Settings」視窗。
  2. 前往「Appearance & Behavior」>「Appearance」
  3. 選取「Use custom font」(使用自訂字型)
  4. 放大字型。
  5. 在「Settings」視窗中,依序前往「Editor」>「Font」
  6. 放大字型。
  7. 按一下「OK」(確定)

程式碼編輯

本節說明程式碼編輯器的相關已知問題。

鍵盤輸入凍結 - Linux 上的「iBus」問題

Linux 上的 iBus Daemon 和 Android Studio 之間有一些已知互動行為。在某些情境下,IDE 會停止回應鍵盤輸入,或開始輸入隨機半形字元。這項錯誤是由 iBus 和 XLib + AWT 之間缺少同步所觸發,而且已回報至 JetBrainsiBus 上游。這個問題目前有三種解決方法:

  • 解決方法 1:將 iBus 強制設為同步模式。在啟動 Android Studio 之前,在指令列中執行下列指令:
    $ IBUS_ENABLE_SYNC_MODE=1 ibus-daemon -xrd
  • 解決方法 2:停用 Android Studio 中的 iBus 輸入功能。如要停用 Android Studio 的 iBus 輸入功能,請在指令列中執行下列指令:
    $ XMODIFIERS= ./bin/studio.sh
    這個解決方法只會停用 Android Studio 的輸入方法,不會停用您正在執行的任何其他應用程式。請注意,如果您在 Android Studio 執行時重新啟動 Daemon (例如執行 ibus-daemon -rd),則等同於停用所有其他應用程式的輸入方法,甚至可能導致 Android Studio 的 JVM 當機,出現記憶體區段錯誤。
  • 解決方法 3:仔細檢查快速鍵繫結,確保「Next input shortcut」(下一個輸入快速鍵) 未設為「Control+Space」(Control+空格鍵),因為這也是 Android Studio 中程式碼完成的快速鍵。Ubuntu 14.04 (Trusty) 會將 Super+Space 設為預設的快速鍵,但先前版本的設定可能仍適用。如要檢查您的快速鍵繫結,請在指令列中執行 ibus-setup 以開啟「IBus Preferences」視窗。在「Keyboard Shortcuts」下方勾選「Next input method」。如果這個項目的設定為 Control+Space,請將其變更為 Super+Space 或您選擇的其他快速鍵。

專案設定

本節說明與專案設定和 Gradle 同步相關的已知問題。

Gradle 同步處理失敗:管線損毀

這是由於 Gradle Daemon 嘗試使用 IPv4 而非 IPv6。

  • 解決方法 1:在 Linux 中,將下列程式碼新增到您的 ~/.profile~/.bash_profile 中:
    export _JAVA_OPTIONS="-Djava.net.preferIPv6Addresses=true"
  • 解決方法 2:在 Android Studio 的 vmoptions 檔案中,將 -Djava.net.preferIPv4Addresses=true 一行變更為 -Djava.net.preferIPv6Addresses=true。詳情請參閱「網路 IPv6 使用手冊」。

Gradle 同步或 SDK Manager 的「peer not authenticated」錯誤

這些錯誤的根本原因是 $JAVA_HOME/jre/lib/certificates/cacerts 中缺少憑證。如要解決這些錯誤,請按照下列步驟操作:

  • 如果您使用 Proxy,請嘗試直接連線。如果直接連線有用,為了透過 Proxy 連線,您可能需要使用 keytool 將 Proxy 伺服器的憑證新增至 cacerts 檔案中。
  • 重新安裝受支援、未修改的 JDK。目前有一個已知問題會影響 Ubuntu 使用者,導致 /etc/ssl/certs/java/cacerts 沒有內容。如要解決這個問題,請在指令列執行下列指令:
    sudo /var/lib/dpkg/info/ca-certificates-java.postinst configure

部署

本節說明將應用程式部署至連線裝置的相關已知問題。

[僅限 Mac OS] 系統不會套用漸進式更新,原因是儲存在 /System/Volumes/Data 下的專案發生 Gradle 檔案監控相關問題

Gradle 問題 18149 對 Android Gradle 外掛程式 7.0 及以上版本有影響,因為它們需要 Gradle 7.0 及以上版本。從 Gradle 7.0 版開始,檔案監控預設為啟用。如果您使用的是 Mac OS,且專案儲存在 /System/Volumes/Data 下,Gradle 的檔案監控功能將無法正確記錄檔案變更。這樣會導致建構系統看不到任何檔案變更,因此不會再更新 APK。漸進式部署程式碼則不會執行任何工作,因為本機 APK 狀態與裝置相同。

如要解決這個問題,請將專案目錄移至使用者目錄,也就是 /Users/username 下。然後,建構系統將收到 Gradle 檔案監控的檔案變更相關通知,並成功套用漸進式變更。

macOS High Sierra 上的 Android Emulator HAXM

macOS High Sierra (10.13) 上的 Android Emulator 需要 HAXM 6.2.1 以上版本,才能與 macOS 實現最佳相容性和穩定性。不過,macOS 10.13 對於安裝 HAXM 等核心擴充功能有更複雜的程序。您必須手動允許核心擴充功能安裝,如下所示:

  1. 首先,請嘗試從 SDK Manager 安裝最新版本的 HAXM。
  2. 在 MacOS 中,依序前往「System Preferences」>「Security and Privacy」
  3. 如果看到「System software from developer "Intel Corporation Apps" was blocked from loading」(系統已封鎖開發人員「Intel Corporation Apps」的系統軟體,因此無法載入)的快訊,請按一下「Allow」(允許)

如需更多詳細資訊和解決方法,請參閱此 Apple 網頁問題 62395878

套用變更

本節說明與套用變更相關的已知問題。

未套用新的應用程式名稱

如果您重新命名應用程式,然後嘗試套用變更,系統可能不會反映更新後的名稱。如要解決這個問題,請按一下「Run」(執行) 圖示 「Run」圖示 重新部署應用程式,這樣即可看到更新後的名稱。

Android 執行階段擲回錯誤問題

如果您使用的裝置搭載 Android 8.0 或 8.1,可能會在嘗試套用特定類型的變更時看到「VERIFICATION_ERROR」訊息 (尤其是使用 Kotlin 時)。這則訊息是由於 Android 執行階段發生問題所致,該問題已在 Android 9.0 以上版本中修正。雖然該問題會導致套用變更失敗,但您仍可再次按下「Run」圖示「Run」圖示 執行應用程式來查看變更。不過,建議您將裝置升級至 Android 9.0 以上版本。

偵錯和測試

本節說明與偵錯及測試應用程式相關的已知問題。

從 Android Studio 執行時,JUnit 測試的類別路徑中缺少資源

如果 Java 模組中有特定的資源資料夾,則從 IDE 執行測試時會找不到這些資源。為解決這個問題,您可以從指令列使用 Gradle 執行測試,也可以從 IDE 執行 Gradle check 工作。更多詳情請參閱問題 64887

之所以發生這個問題,是因為自 IntelliJ 13 起,只能有一個資料夾做為類別路徑。IntelliJ 的建構工具會將所有資源複製到該建構資料夾中,但 Gradle 不會複製這些資源。

  • 解決方法 1:從 IDE 執行 Gradle check 工作,而不要執行單元測試。
  • 解決方法 2:更新建構指令碼,手動將資源複製到建構資料夾中。詳情請參閱註解 #13

執行 JUnit 測試可能會編譯程式碼兩次

在建立新專案時,系統可能會使用兩個「推出前」步驟 (也就是 Make 和 Gradle-aware Make) 建立範本 JUnit 設定,然後這項設定會套用至所有已建立的 JUnit 執行設定。

  • 如要為當前專案修正這個問題,請依序點選「Run」>「Edit Configurations」,然後將預設的 JUnit 設定變更為僅包含 Gradle-aware Make 步驟。
  • 如要為所有未來專案修正這個問題,請依序點選「File」>「Close Project」。您應該會看到歡迎畫面。然後依序點選「Configure」>「Project Defaults」>「Run Configurations」,並將 JUnit 設定變更為只包含 Gradle-aware Make 步驟。

部分測試執行設定無法運作

在測試方法上按一下滑鼠右鍵時顯示的執行設定並非全部都可供使用。具體而言,以下設定是無效的:

  • Gradle 執行設定 (圖示為 Gradle 標誌) 無效。
  • JUnit 執行設定 (圖示沒有綠色 Android) 不適用於檢測設備測試,該測試無法在本機 JVM 上執行。
Android Studio 也會記住在特定情境中所建立的執行設定 (例如,對特定類別或方法按一下滑鼠右鍵),但日後不會在不同的設定中主動執行。如要修正這個問題,請依序按一下「Run」>「Edit Configurations」,然後移除錯誤建立的設定。

在偵錯原生程式碼時新增 Java 中斷點

當應用程式在原生程式碼的中斷點暫停時,AutoDual 偵錯工具可能無法立即辨識您設定的新 Java 中斷點。如要避免這個問題,請在啟動偵錯工作階段之前,或在應用程式於 Java 中斷點暫停時,新增 Java 中斷點。詳情請參閱問題 229949

跳脫原生偵錯工具

使用 AutoDual 偵錯工具對 Java 和原生程式碼進行偵錯時,如果您是「從」Java 程式碼進入原生函式 (例如,偵錯工具在 Java 程式碼中用來呼叫原生函式的程式碼行暫停執行,然後您點選「Step Into」(進入) 圖示 ),並想返回 Java 程式碼,請點選「Resume Program」(繼續執行程式) 圖示 (而不是「Step Out」(跳離) 圖示 或「Step Over」(不進入) 圖示 )。應用程式程序仍處於暫停狀態,因此請在「your-module-java」分頁中按一下「Resume Program」(繼續執行程式) 圖示 以便繼續。詳情請參閱問題 224385

原生偵錯工具在載入程式庫時停止運作

升級至 Android Studio 4.2 以上版本後,首次使用原生偵錯工具時,這項工具可能會在從 Android 裝置載入程式庫時停止回應。即使您停止並重新啟動偵錯工具,這個問題仍會繼續發生。如要解決這個問題,請在 $USER/.lldb/module-cache/ 中刪除 LLDB 快取。

原生偵錯工具當機,顯示「偵錯工具程序已完成,結束代碼 127」

在 Linux 平台上啟動原生偵錯工具時會發生這個錯誤。它表示本機系統未安裝原生偵錯工具所需的其中一個程式庫。缺少的程式庫名稱可能已在 idea.log 檔案中列印。如果沒有,您可以使用終端機前往 Android Studio 安裝目錄,並執行 bin/lldb/bin/LLDBFrontend --version 指令列,瞭解缺少哪些程式庫。一般來說,缺少的程式庫是 ncurses5,因為最近部分 Linux 發行版已升級至 ncurses6

分析器

本節說明分析器的已知問題。

原生記憶體分析器:應用程式啟動期間無法進行分析

原生記憶體分析器目前無法在應用程式啟動期間使用。我們將在日後推出的版本中提供這個選項。

您可以改用 Perfetto 獨立指令列分析器擷取啟動分析。

CPU 分析器中的逾時錯誤

如果您選取「Sample Java Methods」(範例 Java 方法) 或「Trace Java Methods」(追蹤 Java 方法) 設定,Android Studio CPU 分析器可能會出現「Recording failed to stop」(無法停止記錄) 錯誤。這些錯誤通常是逾時錯誤,尤其是您在 idea.log 檔案中看見以下錯誤訊息時:

Wait for ART trace file timed out

逾時錯誤對追蹤方法的影響比取樣方法更大,且對長錄音的影響比短錄音更大。作為臨時解決方法,您可以先嘗試較短的錄音,看看錯誤是否消失。

如果分析器發生逾時問題,請回報錯誤,並附上裝置的廠牌/型號以及 idea.log 和 Logcat 的所有相關項目。

偵錯或剖析時發生 ADB 例外狀況

使用 Platform Tools 29.0.3 時,原生偵錯和 Android Studio 分析器可能無法正常運作,而且如果您依序選取「Help」(說明) >「Show Log」(顯示記錄)idea.log 檔案中可能會顯示「AdbCommandRejectedException」或「Failed to connect port」(無法連線至通訊埠) 的訊息。只要將平台工具升級至 29.0.4 以上版本即可修正這兩個問題。

如要升級平台工具,請執行下列步驟:

  1. 依序點選「Tools」(工具) >「SDK Manager」或按一下工具列中的「SDK Manager」圖示 ,從 Android Studio 開啟 SDK Manager。
  2. 勾選「Android SDK Platform-Tools」旁邊的核取方塊,讓這個方塊顯示勾號。左欄應該會顯示一個下載圖示
  3. 按一下「Apply」(套用) 或「OK」(確定)

外掛程式會禁止「Build Output」(版本輸出) 視窗運作

使用 CMake simple highlighter 外掛程式會禁止內容出現在「Build Output」(版本輸出) 視窗中。系統會執行建構作業,並顯示「Build Output」分頁,但不會產生任何輸出內容 (問題 #204791544)。

安裝順序導致無法啟動

如果安裝 Android Studio 的新版本後才安裝舊版本,可能會導致舊版本無法啟動。舉例來說,假使您先安裝 Android Studio 的初期測試版本,然後再嘗試安裝並啟動穩定版,那麼穩定版可能會無法啟動。在這種情況下,您必須清除快取才能啟動穩定版 (舊版本)。如要在 macOS 裝置上清除快取,請刪除 Library/ApplicationSupport/Google/AndroidStudioversion_number 目錄。如要在 Windows 裝置上清除快取,請使用磁碟清理功能。

Espresso Test Recorder 不支援 Compose

Espresso Test Recorder 不適用於含有 Compose 的專案。如要為含有 Compose 的專案建立 UI 測試,請參閱「測試 Compose 版面配置」一文。

Android Gradle 外掛程式的已知問題

本節說明 Android Gradle 外掛程式的最新穩定版本中存在的已知問題。

並非所有動態功能程式庫依附元件皆有進行程式碼檢查

從應用程式模組使用 checkDependencies = true 執行 Lint 時,系統不會檢查動態功能程式庫依附元件,除非這些元件同時也是應用程式依附元件 (問題 #191977888)。您可以在這些程式庫執行程式碼檢查工作,藉此解決問題。

簽署名稱中含有回車字元的檔案

JAR 簽署 (v1 配置) 不支援含有回車字元的檔案名稱 (問題 #63885809)。

無法在建構時間修改變化版本的輸出內容

使用 Variant API 操控變化版本輸出內容對新的外掛程式無效。不過,該 API 仍可執行簡單的工作,例如在建構期間變更 APK 名稱,如下所示:

// If you use each() to iterate through the variant objects,
// you need to start using all(). That's because each() iterates
// through only the objects that already exist during configuration time—
// but those object don't exist at configuration time with the new model.
// However, all() adapts to the new model by picking up object as they are
// added during execution.
android.applicationVariants.all { variant ->
    variant.outputs.all {
        outputFileName = "${variant.name}-${variant.versionName}.apk"
    }
}

不過,涉及存取 outputFile 物件的較複雜工作將無法再運作。這是因為在設定階段中,系統不會建立特定於變化版本的工作。這會導致外掛程式無法事先瞭解所有輸出內容,但這也意味著能加快設定時間。

manifestOutputFile 已無法使用

processManifest.manifestOutputFile() 方法已無法使用,呼叫它時會出現下列錯誤:

A problem occurred configuring project ':myapp'.
   Could not get unknown property 'manifestOutputFile' for task
   ':myapp:processDebugManifest' of type
   com.android.build.gradle.tasks.ProcessManifest.

請不要呼叫 manifestOutputFile() 來取得每個變化版本的資訊清單檔案,您可以呼叫 processManifest.manifestOutputDirectory(),讓系統傳回包含所有已產生的資訊清單的目錄路徑。接著,您可以找出資訊清單並套用邏輯。以下範例會動態變更資訊清單的版本代碼:

android.applicationVariants.all { variant ->
    variant.outputs.all { output ->
        output.processManifest.doLast {
            // Stores the path to the maifest.
            String manifestPath = "$manifestOutputDirectory/AndroidManifest.xml"
            // Stores the contents of the manifest.
            def manifestContent = file(manifestPath).getText()
            // Changes the version code in the stored text.
            manifestContent = manifestContent.replace('android:versionCode="1"',
                    String.format('android:versionCode="%s"', generatedCode))
            // Overwrites the manifest with the new text.
            file(manifestPath).write(manifestContent)
        }
    }
}

AGP 7.3.0 AIDL 支援和 Kotlin 1.7.x 問題

在 Kotlin 1.7.x 中搭配使用 AGP 7.3.0 與 KAPT 時,系統會移除特定建構變數的 AIDL 來源集。您還是可以使用其他 AIDL 來源集,包括 main/、建構類型、變種版本和變種版本的組合。如果您需要使用變化版本專屬的 AIDL 來源集,請繼續使用 Kotlin 1.6.21。

已修正的已知問題

本節說明在最近的發布版本中已修正的已知問題。如果您遇到以下任何問題,建議您將 Android Studio 更新至最新的穩定版或預先發布版

在 Android Studio 2021.1.1 中已修正

  • 缺少 Lint 輸出內容:當 Lint 工作為 UP-TO-DATE 時,不會有 Lint 文字輸出內容列印至 stdout (問題 #191897708)。已在 AGP 7.1.0-alpha05 中修正。
  • 對使用 Hilt 外掛程式的應用程式專案進行單元測試時的問題:單元測試類別路徑包含未檢測的應用程式類別,這表示 Hilt 並未檢測應用程式類別,無法在執行單元測試時處理依附元件插入內容 (問題 #213534628)。已在 AGP 7.1.1 中修正。

在 Android Studio 2020.3.1 中已修正

  • Kotlin 專案中的 Lint 例外狀況:設定 checkDependencies = true 的 Kotlin 專案可能會發生空值指標例外狀況或錯誤 (問題 #158777858)。

在 Android Studio 4.2 中已修正

  • macOS Big Sur 的 IDE 凍結情形:開啟對話方塊時,Android Studio 4.1 可能會凍結。

在 Android Studio 4.1 中已修正

  • 重新啟動以套用舊版 IDE 的記憶體設定:更新 Android Studio 後,您必須重新啟動 Android Studio,才能套用從舊版 IDE 遷移的任何記憶體設定。
  • 系統不再預設產生含有自訂權限字串的資訊清單類別:如要產生這種類別,請設定 android.generateManifestClass = true

在 Android Studio 3.6 中已修正

  • LineageOS 上的 APK 安裝錯誤:將應用程式部署至搭載特定版本 LineageOS 或 CyanogenMod 的裝置時,可能會失敗並擲回 INSTALL_PARSE_FAILED_NOT_APK 例外狀況。

    在 Android Studio 3.6 Beta 1 以上版本中,當您將應用程式部署至 LineageOS 或 CyanogenMod 裝置時,IDE 會執行完整的應用程式安裝程序,藉此處理這個例外狀況,而這可能會使部署時間延長。

在 Android Studio 3.5.2 中已修正

  • 無效的 XML 程式碼樣式:編輯 XML 程式碼時,如果從選單列中依序選取「Code」(程式碼) >「Reformat Code」(重新設定程式碼格式),IDE 會套用不正確的程式碼樣式。

在 Android Studio 3.3.1 中已修正

  • 掃描 C++ 專案時發生記憶體不足錯誤:當 Gradle 掃描專案時,如果該專案在同一個硬碟中的多個位置含有 C++ 程式碼,掃描作業就會納入第一個通用目錄下的所有目錄。掃描大量目錄和檔案可能會導致記憶體不足。

    如要進一步瞭解這個問題,請詳閱與該問題相關的錯誤