2013-02-01 162 views
6

我是Android新手,試圖調試Android應用程序問題(在Android SDK中使用Eclipse)。調試到Android源代碼

我想進入Android平臺代碼(特別是Activity.class中的代碼,更具體地說,發生問題的startActivityForResult()方法中的代碼),我似乎無法正確地讓Eclipse找到代碼Activity.class所以我可以介入並看到該來源。它給了我'未找到源',並且我嘗試通過'Change Attached Source'按鈕或通過項目屬性從幾個地方附加android.jar,但這些似乎都不起作用。 (取自adt-bundle/sdk/platforms/android-7文件夾的android.jar以及取自prebuilts/sdk/7文件夾的版本)。

我正在使用Google API 7(Android 2.1)進行構建/調試。該項目設置爲定位Google API 7,Android虛擬設備也設置爲該目標。

我試過將源附件指向包含從最新回購版(frameworks/base/core/java/android)下載的Activity.java的本地目錄。

我是否需要嘗試從回購版獲取用於Android 2.1的源目錄版本?或者是,我正在用Google API 7(而不是Android開源2.1)來構建問題?或者是否有其他android.jar我應該指向?

+0

我建議你去探索另一個API源代碼,比如API 15左右,因爲據我所知,Android API 7沒有從Android SDK Manager下載的源代碼。 –

+0

我實際上找到了一個解決方案(不知道它是否是最好的或理想的方法,但它似乎工作(發現作爲對類似問題的答案) http://www.mkyong。com/android/attach-android-source-code-to-eclipse-ide/ – ggprod

+0

太棒了!請回答你自己的問題,你可能會這樣,來這裏的人也可以這樣做。 –

回答

10

如果你使用Eclipse,你可以去幫助>安裝新軟件,並粘貼此鏈接: http://adt-addons.googlecode.com/svn/trunk/source/com.android.ide.eclipse.source.update/

這是重視基於Eclipse的Android源的插件,周圍的其他方法有點複雜我還沒有嘗試過,但可以按照下面的網址進行操作。

+0

謝謝..嗯,這樣做..不能upvote你的答案,雖然由於我的低代表 – ggprod

0

這種方法可用於提供來源的所有API的另一種簡單的方法(雖然這不能被用於API第7版) 。

  1. 下載適用於API的android SDK的源代碼。

  2. 轉到android SDK中的sources文件夾並複製下載的源文件。 例如:如果您已經下載了API 15的源代碼,在您的sdk中會有文件夾名爲sources,並且在該文件夾中將列出所有下載的源。因此,複製相應的源文件夾(在這種情況下將被命名爲android-15)。

  3. 現在轉到平臺文件夾 - >進入相應的API(android-15)文件夾 - >然後創建一個名爲sources的文件夾 - >進入源文件並粘貼之前複製的文件夾。