回報錯誤

如要提交完整的錯誤報告,請按照本頁的步驟操作。由於修正錯誤的資源有限,我們會優先處理附上完整資訊的錯誤,並關閉不完整的錯誤報告。如果報告遭到關閉,請重新提交錯誤,並提供額外資訊。

為避免回報已修正的錯誤,請務必使用最新版本的工具。您也可以在 Android Studio Issue Tracker 搜尋類似問題,查看是否有人已回報您遇到的問題。

如何回報錯誤

如要回報錯誤,請按照下列步驟操作:

  1. 如要在 Android Studio 中開啟錯誤報告,請依序選取「Help」>「Submit Feedback」

    這是回報錯誤最簡單的方法,因為錯誤報告會填入正確重現問題所需的資料,包括 Android Studio 版本、Kotlin/Java 版本和系統資訊。

    您也可以在這個頁面回報錯誤,並自行新增版本資訊。

  2. 附加診斷報告,方便順利偵錯。如要產生診斷報告的 ZIP 檔案,請依序點選「Help」>「Collect Logs and Diagnostic Data」

  3. 說明重現問題的確切步驟。提供的資訊應盡可能詳細,包括程式碼片段、可用來重現錯誤的 GitHub 專案,以及所見情況的螢幕截圖或記錄。

  4. 詳細說明問題。請描述您預期的結果,以及實際觀察到的狀況。

  5. 為錯誤報告選擇描述性標題。使用敘述較完整的標題有助於依問題排序資料。

針對某些錯誤,我們需要取得額外資訊,詳情請參閱下列各節:

Android Studio 錯誤詳細資料

如要回報 Android Studio 專屬的錯誤,請提供本節所述的額外資訊。

如果 IDE 停止運作

如果 IDE 本身運作非常緩慢或完全停止運作,請按照本頁說明產生幾個執行緒傾印檔,並附加到錯誤報告。這些執行緒傾印檔會顯示 IDE 執行的哪些作業導致速度變慢。

如果 IDE 運作速度緩慢,但未停止運作,請將 idea.log 檔案附加至錯誤報告。如要附加檔案,請依序選取「Help」>「Collect Logs and Diagnostic Data」,或「Help」>「Show Log in Files」(在 macOS 應依序選取「Help」>「Show Log in Finder」)。這個檔案會顯示 IDE 是否將錯誤擲回到記錄中。

使用 CPU 設定檔診斷速度緩慢問題

如果您在 Android Studio 中遇到速度緩慢的狀況,CPU 設定檔有時可協助診斷問題。

請按照下列步驟使用 Android Studio Performance Testing 外掛程式,擷取 CPU 設定檔:

  1. 安裝外掛程式。

    • 在 Android Studio 中前往外掛程式市集,搜尋「Performance Testing」。
    • 也可以從外掛程式網站下載與 Android Studio 相容的版本。
  2. 建立 CPU 設定檔。

    1. 如果 Android Studio 似乎運作緩慢,請選擇「Start CPU Usage Profiling」
    2. 重複執行幾項有延遲問題的動作,例如完成程式碼、輸入文字、等待醒目顯示內容等。
    3. 按一下「Stop CPU Usage Profiling」
  3. 提供設定檔。

    畫面上會出現說明框,列出 CPU 快照檔案名稱,格式為 snapshot-NNN。請在錯誤報告中提供這個快照檔案。

如果 IDE 記憶體不足

有時,很難重現及回報 Android Studio 中的記憶體問題。為解決這個問題,Android Studio 內含記憶體用量報告。您可以將這份報告傳送給 Android Studio 團隊,協助我們找出記憶體問題的來源。

執行記憶體用量報告

如要執行記憶體用量報告,請按照下列步驟操作:

  1. 依序按一下選單列中的「Help」>「Analyze Memory Usage」

    Android Studio 會載入堆積,並提示您重新啟動 IDE。如果重新啟動 IDE,記憶體快照資料分析會立即啟動。否則,記憶體快照資料分析會在您下次執行 Android Studio 時啟動。不論是哪一種情況,IDE 都會在可查看記憶體用量報表時通知您,如圖 1 所示。

    通知訊息指出已可查看記憶體用量報表
    圖 1. 記憶體用量報表通知。
  2. 按一下「Review Report」。

    傳送報表前,您可以先查看報表中的資訊:

    記憶體用量報表。
    圖 2. 記憶體用量報表分析。
  3. 查看完畢後,請將報表內容複製到檔案中,並在回報錯誤時附加該檔案。

    如此提交報表資訊後,當 Android Studio 團隊在調查記憶體問題時,就能透過 Issue Tracker 與您聯絡。

如果 IDE 當機或擲回例外狀況

如果發生其他類型的當機問題,請依序選取「Help」>「Collect Logs and Diagnostic Data」或「Help」>「Show Log in Files」(在 macOS 應依序選取「Help」>「Show Log in Finder」),附加找到的 idea.log 檔案。

產生執行緒傾印檔

執行緒傾印檔是 JVM 中所有執行緒的顯示內容,而每個執行緒的傾印檔都包含所有堆疊框的顯示內容。這有助於瞭解 IDE 忙於處理的作業,尤其是您每隔幾秒就產生幾個執行緒傾印檔時。

如果 IDE 極度忙碌而導致 CPU 超載,或 IDE 似乎停止運作,當您回報這些錯誤時,執行緒傾印可以精確指出哪個程式碼正在執行大量作業,或說明哪些執行緒正在爭用資源並造成死結。

JDK 隨附名為 jstack 的工具,可用來產生執行緒傾印檔。首先,請找出 Android Studio 程序的程序 ID (PID),做法是使用以下 jps 指令:

Linux 或 macOS:

jps -mv | grep studio

Windows:

jps -mv | findstr studio

這項指令會顯示一行很長的程式碼,例如:

$ jps -mv | grep studio
37605 -Dfile.encoding=UTF-8 -ea -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -Djna.nosys=true ...

第一組數字就是程序 ID,在本例中為 37605。

接著,請產生執行緒傾印檔,並儲存至 dump.txt 檔案:

jstack -l pid >> dump.txt

若上述方法無效,還可以採用平台專屬做法產生執行緒傾印檔。如需詳細操作說明,請參閱 IntelliJ 支援頁面

建構工具和 Gradle 錯誤的詳細資料

如要回報建構工具或 Gradle 的錯誤,請附加可呈現問題的實際或範例專案,確保擷取了一切所需的資訊。提供專案前,請移除所有機密資訊。

如果無法提供專案,請指出您使用的工具版本。建議您先嘗試使用最新的穩定版本或預先發布版,再回報錯誤。如要找出工具版本,請執行下列操作:

  • Android Gradle 外掛程式版本:

    1. 依序選取「File」>「Project Structure」
    2. 按一下「Project」
    3. 找出「Android Gradle Plugin Version」
  • Gradle 版本:

    1. 依序選取「File」>「Project Structure」
    2. 按一下「Project」
    3. 找出「Gradle Version」
  • Android Studio 版本:

    1. 依序選取「Help」>「About」
    2. 找出「Android Studio Version」

此外,請提供下列資訊 (如適用):

  • 從舊版本改用目前版本後,如果發現運作方式意外產生變化,請指明這兩個版本。
  • 如果建構作業因發生錯誤而失敗,請透過指令列使用 --stacktrace 選項 (例如 ./gradlew <task> --stacktrace) 執行建構作業,並在錯誤報告中提供堆疊追蹤。
  • 如果建構時間比預期長,請嘗試下列其中一種做法:
    • 執行 ./gradlew <task> --scan,並在錯誤報告中提供此指令產生的 Gradle Build Scan
    • 執行 ./gradlew <task> -Pandroid.enableProfileJson=true 並分享 Chrome 追蹤記錄 產生 <root-project>/build/android-profile 目錄下產生的檔案,

Android Emulator 錯誤詳細資料

請按照下列步驟使用模擬器的擴充控制項,收集資訊並回報錯誤:

  1. 在模擬器面板中,按一下「More」圖示
  2. 在「Extended controls」視窗中,選取「Bug Report」

    這項操作會開啟一個畫面,當中列有錯誤報告的詳細資料,例如螢幕截圖、AVD 設定資訊和錯誤報告記錄。您可以在這個畫面輸入重現錯誤的步驟,也可以等到在下一個步驟產生的報告中輸入。

  3. 等待錯誤報告完成收集程序,然後按一下「Send to Google」

    系統會開啟一個視窗,讓您將錯誤報告儲存至資料夾。另外還會開啟瀏覽器,在 Google Issue Tracker 中建立報告,並填入必要的模擬器詳細資料。

  4. 在報告中填妥其餘詳細資料 (例如重現錯誤的步驟),然後附加建立錯誤報告時儲存的檔案。

或者,您也可以手動輸入下列詳細資料:

  • 模擬器版本

    1. 在模擬器中開啟「Extended controls」
    2. 按一下「Help」。
    3. 按一下「About」分頁標籤,找出「Emulator version」
  • Android SDK 工具版本

    1. 依序選取「Tools」>「SDK Manager」
    2. 按一下「SDK Tools」
    3. 找出「Android SDK Tools」
  • 主機 CPU 型號

    • Linux:開啟 /proc/cpuinfo
    • Windows:在「My Computer」上按一下滑鼠右鍵,然後選取「Properties」
    • macOS:選取 Apple 圖示,然後按一下「About This Mac」
  • 裝置名稱

    1. AVD Manager,點選即可在所需裝置的「Actions」欄中開啟選單。
    2. 選取「View Details」,或開啟 $avdname.avd/config.ini 檔案。
    3. 找出 hw.device.name 的項目,例如 hw.device.name=Nexus 5