tools - linux android studio




如何將源碼附加到android.jar (5)

我是Android新手。 我正在使用Eclipse IDE在Windows操作系統中工作。 我的簡單應用程序有一個微調器,用於填充數據庫列中的列表。 當我點擊微調器類時,文件編輯器說沒有找到源,android.jar沒有源附件。

我下載了源代碼並將其放置在此位置:

android-sdk-windows\platforms\android-8

然後,我通過以下步驟附加了此源:

右鍵單擊該項目=>構建路徑=>配置構建路徑=>庫=>源附件=>給出下載的源代碼的路徑。

但是,我沒有得到任何解決方案,我的調試。 同樣,當點擊微調器時,它會打開android.jar沒有源附件的調試。


在Murach的Android編程中找到答案後,我的工作就是如此。 我被困在試圖調試的地方,並試圖在轉到下一頁(字面意思)之前解決它大約3個小時,它說“有時Eclipse會顯示未找到源的消息,因為......”(-headdesk-)

我的解決方案是打開Step Filtering並添加我想在調試時跳過的軟件包。 很明顯,Eclipse有時會遍歷所有的源代碼庫,只需要它遍歷代碼即可。 您可以通過添加要跳過的程序包來繞過此過濾器。 根據Murach的說法,你只需通過反複試驗來完成,首先選擇所有軟件包並添加它們。 隨著您繼續調試,您可能會發現需要將更多軟件包添加到過濾器中。

具體步驟:1.打開步驟過濾; 單擊頂部工具欄中按鈕,如下所示: http://i57.tinypic.com/x3iccp.png : http://i57.tinypic.com/x3iccp.png 2.轉到Window - > Preferences,然後在Preferences對話框中選擇Java - > Debug- - >逐步過濾3.選擇所有包。 4.要添加其他過濾器,請單擊“添加過濾器”,在末尾鍵入包含*的軟件包名稱,然後單擊確定。 Murach建議添加這些常用軟件包以開始:--android。* --com.android。* --com.google。* --dalvik。* --libcore。* --org.apache。*因此,要添加一個這些軟件包,點擊“添加過濾器”,輸入“android。*”,然後點擊確定。 我最終在Step Filter Preferences中使用了以下所有軟件包。

機器人。 ,android.app。 ,com.android。 ,com.google。 ,com.ibm。 ,com.sun。 ,達爾維克。 ,java。 ,javax。 ,jrockit。 ,libcore。 ,org.apache。 ,org.omg。 ,太陽。 ,sunw。*,((最後一個是類,而不是包))java.lang.ClassLoader

我在對話框的頂部選中了“使用步驟過濾器”,並在底部選中了“逐步過濾器”。 點擊“應用”,然後點擊“確定”關閉對話框。 它應該工作。

祝你好運!


如果添加文件夾android-sdks/sources/android-17作為外部源不起作用(如我的情況),您可以嘗試創建文件夾android-sdks/platforms/android-17/sources/android-17拷貝源文件並重新啟動Eclipse(我有日食Juno服務版本1)。 只有這種方式對我有用。

為android-17執行此操作的步驟:

  1. 轉到adroid-sdk安裝文件夾,對我來說它是d:\ws\android-sdks\
  2. android-17源文件夾從android-sdks\sources\android-17\複製到android-sdks\platforms\android-17\sources\ (你必須在這里手動創建文件夾sources )文件夾,以便源的最終路徑必須是: android-sdks\platforms\android-17\sources\android-17\
  3. 重啟eclipse,它必須自動附加android-17的源碼

UPD:與symlinks相同的解決方案:

Windows Vista + (感謝@ mklink在評論中提及mklink ):

1. cd platforms\android-17
2. mklink /D "sources\android-17" "..\..\..\sources\android-17"

對於基於Unix的操作系統 (@Joe評論):

它可以很好地創建目錄和符號鏈接“sources / android-XX”到“../../../sources/android-XX”:

mkdir platforms/android-19/sources && 
ln -s ../../../sources/android-19 platforms/android-19/sources/android-19. 

我添加了appengine sdk和其他一些來源,並且銷毀了我的ADT :-(

我看到,對於android-16和android-17,SDK Manager下載的平台庫開始轉到./sdk/sources,而在添加appenginge sdk之前,SDK Manager將平台發送到./sdk/platforms。

看起來這個更改是由於appengine sdk的結果,但對於ADT,平台API應該定義為./sdk/platforms

路徑./sdk/sources看起來像是一個更通用的java位置,可能是“正確的”路徑。 因此,Android像往常一樣是問題所在。 從現在開始我非常確定,我需要./sdk/sources和./sdk/platforms,這取決於我編譯的內容。

因此,我將所有內容從./sdk/sources移至./sdk/platform,刪除./sdk/sources,然後創建鏈接'cd sdk && ln -s platform sources'

現在一切正常;-)


要附加android.jar的源代碼,您可以按照以下鏈接中的教程: http://android.opensourceror.org/2010/01/18/android-source/ : http://android.opensourceror.org/2010/01/18/android-source/請確保選擇正確的平台版本。

如果您遇到微調,請嘗試獲取示例代碼並查看它是如何工作的: http://developer.android.com/resources/samples/get.html : http://developer.android.com/resources/samples/get.html

祝你好運。 :)

更新

這個答案已經過時了,請考慮其他答案。


除非你需要更舊的API來源,否則Timmmm的回答可能會更好。 如果您確實需要14歲以上的資源,請繼續閱讀...

在Eclipse中,只需轉到

幫助 - >安裝新軟件

然後添加更新站點

http://adt-addons.googlecode.com/svn/trunk/source/com.android.ide.eclipse.source.update/

並通過動作來安裝它。

這將愉快地為所有安裝的API版本提供源代碼,並且對我來說工作得非常好。 還有一些文檔在這裡

http://code.google.com/p/adt-addons/

尋找Android Sources的標題





eclipse