Android Debug 時追蹤 SDK Source Code

不管是除錯還是學習,能夠看到完整的原始碼總是比較方便。Android 本身是開放原始碼,所以可以自行下載後再 attach source code。
自 4.0 以後,Android SDK Manager 也提供了 Sources for Android SDK 的選項,可以直接勾選安裝。

ADT 安裝好後,如果你嘗試追蹤一個 Android Framework 的類別,會看到類似如下的畫面:
source not found

這時,先確認有安裝 SDK 原始碼:
install Sources for Android SDK

然後,到專案裡面的 Android SDK 按右鍵,選擇 Properties:
android sdk properties

在 External location 選擇 SDK 路徑底下的 sources/android-[你要的版本]
set sdk source folder

這時隨便挑一個類別,按右鍵選擇 Open Declaration
Open Declaration

接著應該就會顯示出這個類別的原始碼了:
display the source code

在 Debug 時,若是 Trace 進入了 SDK 原始碼,卻發生了跑錯行號的現象,那麼有兩點需要確認:

  1. 你選擇的原始碼版本有對應到目前 Debug 執行的 Android 版本,例如 Debug 的環境是 Android 4.3.1,那就要使用 android-18 的原始碼。
  2. 用來 Debug 的機器最好是官方提供的模擬器,若在實體裝置上執行,那裝置上安裝的版本不一定是官方版本。我自己在 Nexus 7 上面測試倒是都能對的上就是了…

Android Studio 越來越接近正式發行,這個時候寫 ADT 的筆記好像沒什麼價值了 (?

發佈留言