如要提交完整的錯誤報告,請按照本頁的步驟操作。由於修正錯誤的資源有限,我們會優先處理附上完整資訊的錯誤,並關閉不完整的錯誤報告。如果報告遭到關閉,請重新提交錯誤,並提供額外資訊。
為避免回報已修正的錯誤,請務必使用最新版本的工具。您也可以在 Android Studio Issue Tracker 搜尋類似問題,查看是否有人已回報您遇到的問題。
如何回報錯誤
如要回報錯誤,請按照下列步驟操作:
如要在 Android Studio 中開啟錯誤報告,請依序選取「Help」>「Submit Feedback」。
這是回報錯誤最簡單的方法,因為錯誤報告會填入正確重現問題所需的資料,包括 Android Studio 版本、Kotlin/Java 版本和系統資訊。
您也可以在這個頁面回報錯誤,並自行新增版本資訊。
附加診斷報告,方便順利偵錯。如要產生診斷報告的 ZIP 檔案,請依序點選「Help」>「Collect Logs and Diagnostic Data」。
說明重現問題的確切步驟。提供的資訊應盡可能詳細,包括程式碼片段、可用來重現錯誤的 GitHub 專案,以及所見情況的螢幕截圖或記錄。
詳細說明問題。請描述您預期的結果,以及實際觀察到的狀況。
為錯誤報告選擇描述性標題。使用敘述較完整的標題有助於依問題排序資料。
針對某些錯誤,我們需要取得額外資訊,詳情請參閱下列各節:
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 設定檔:
安裝外掛程式。
- 在 Android Studio 中前往外掛程式市集,搜尋「Performance Testing」。
- 也可以從外掛程式網站下載與 Android Studio 相容的版本。
建立 CPU 設定檔。
- 如果 Android Studio 似乎運作緩慢,請選擇「Start CPU Usage Profiling」。
- 重複執行幾項有延遲問題的動作,例如完成程式碼、輸入文字、等待醒目顯示內容等。
- 按一下「Stop CPU Usage Profiling」。
提供設定檔。
畫面上會出現說明框,列出 CPU 快照檔案名稱,格式為
snapshot-NNN
。請在錯誤報告中提供這個快照檔案。
如果 IDE 記憶體不足
有時,很難重現及回報 Android Studio 中的記憶體問題。為解決這個問題,Android Studio 內含記憶體用量報告。您可以將這份報告傳送給 Android Studio 團隊,協助我們找出記憶體問題的來源。
執行記憶體用量報告
如要執行記憶體用量報告,請按照下列步驟操作:
依序按一下選單列中的「Help」>「Analyze Memory Usage」。
Android Studio 會載入堆積,並提示您重新啟動 IDE。如果重新啟動 IDE,記憶體快照資料分析會立即啟動。否則,記憶體快照資料分析會在您下次執行 Android Studio 時啟動。不論是哪一種情況,IDE 都會在可查看記憶體用量報表時通知您,如圖 1 所示。
按一下「Review Report」。
傳送報表前,您可以先查看報表中的資訊:
查看完畢後,請將報表內容複製到檔案中,並在回報錯誤時附加該檔案。
如此提交報表資訊後,當 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 外掛程式版本:
- 依序選取「File」>「Project Structure」。
- 按一下「Project」。
- 找出「Android Gradle Plugin Version」。
Gradle 版本:
- 依序選取「File」>「Project Structure」。
- 按一下「Project」。
- 找出「Gradle Version」。
Android Studio 版本:
- 依序選取「Help」>「About」。
- 找出「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 錯誤詳細資料
請按照下列步驟使用模擬器的擴充控制項,收集資訊並回報錯誤:
- 在模擬器面板中,按一下「More」圖示 。
在「Extended controls」視窗中,選取「Bug Report」。
這項操作會開啟一個畫面,當中列有錯誤報告的詳細資料,例如螢幕截圖、AVD 設定資訊和錯誤報告記錄。您可以在這個畫面輸入重現錯誤的步驟,也可以等到在下一個步驟產生的報告中輸入。
等待錯誤報告完成收集程序,然後按一下「Send to Google」。
系統會開啟一個視窗,讓您將錯誤報告儲存至資料夾。另外還會開啟瀏覽器,在 Google Issue Tracker 中建立報告,並填入必要的模擬器詳細資料。
在報告中填妥其餘詳細資料 (例如重現錯誤的步驟),然後附加建立錯誤報告時儲存的檔案。
或者,您也可以手動輸入下列詳細資料:
模擬器版本
- 在模擬器中開啟「Extended controls」。
- 按一下「Help」。
- 按一下「About」分頁標籤,找出「Emulator version」。
Android SDK 工具版本
- 依序選取「Tools」>「SDK Manager」。
- 按一下「SDK Tools」。
- 找出「Android SDK Tools」。
主機 CPU 型號
- Linux:開啟
/proc/cpuinfo
。 - Windows:在「My Computer」上按一下滑鼠右鍵,然後選取「Properties」。
- macOS:選取 Apple 圖示,然後按一下「About This Mac」。
- Linux:開啟
裝置名稱
- 在 AVD Manager,點選即可在所需裝置的「Actions」欄中開啟選單。
- 選取「View Details」,或開啟
$avdname.avd/config.ini
檔案。 - 找出 hw.device.name 的項目,例如
hw.device.name=Nexus 5
。