2011-04-22 265 views
73

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

我下載的源代碼,並把它放在這個位置:

android-sdk-windows\platforms\android-8

然後,我連着這個源通過以下步驟:

右鍵單擊該項目=>構建路徑=>配置build path => libraries => source attachment =>給出下載的源代碼的路徑。

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

+0

更改您接受的答案!並選擇Wisely – 2013-10-13 14:29:43

回答

13

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

如果你有微調difficutly見面,試圖獲得示例代碼,看看它是如何工作的: http://developer.android.com/resources/samples/get.html

好運。 :)

更新

這個答案是非常過時的,請考慮其他的答案。

+0

如果您至少在這裏發佈鏈接的摘要,這將是一件好事。如果因任何原因導致該鏈接失敗,我們已經失去了整個答案。 – 2011-04-29 16:12:33

+0

謝謝!它現在運作良好。 – 2011-05-02 11:57:46

+0

@Blowski如果鏈接關閉,那麼我們無法獲得jar文件,所以我的總結將不再有用了...... :) @Santhosh將標記爲已接受的答案,所以其他人可以更容易地找到它。 – thanhbinh84 2011-05-09 07:29:08

85

除非您需要更舊的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的源

+1

thomanski答案中提到的方法是我唯一的方法。我在Windows XP上,Eclipse 3.7 對不起,把它作爲答案,我還不能添加評論。 – 2011-11-10 10:17:40

+0

這是好的,但遺憾的是它不包括蜂窩來源 – 2011-12-14 16:29:40

+0

我跑了安裝,並沒有源。還有更多要做嗎?鏈接的文檔對我沒有幫助;我需要一步一步來。 – 2012-01-25 21:54:52

89

現在這是很容易的!

轉到Window-> Android SDK Manager並安裝「Android SDK的源代碼」。

現在嘗試按住Ctrl鍵點擊一些Android標識,您將看到通常的「無源附件」頁面。點擊「附加源」並獲得選項來選擇一個外部文件夾。

現在瀏覽至/home/me/android-sdks/sources/android-16(或安裝SDK的位置;這是默認設置),然後點擊確定。

它應該想一會兒,然後顯示源! Yeay!

+0

這隻包含API 14-16。否則以我最喜歡的方式,謝謝! – 2012-08-02 06:38:12

+2

直到API 14之前,他們沒有在SDK管理器中添加任何「Android SDK的源代碼」。之後的每個版本都包含該選項。大多數開發人員應該能夠增加他們的目標API(不是minSDK),並在Eclipse中使用最新的API源代碼。 – 2013-01-26 00:00:26

+2

如果這不起作用,請參閱fsbmain的答案,它最終爲我工作。 – crobicha 2013-07-08 17:37:23

14

如果添加文件夾android-sdks/sources/android-17作爲外部源不起作用(如我的情況),您可以嘗試創建文件夾android-sdks/platforms/android-17/sources/android-17複製源,並重新啓動eclipse(我有日食朱諾服務版本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 saleemrashid1):

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

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

它工作正常,創建目錄和符號鏈接「sources/android-XX」 「../../../sourc ES/Android的XX「:

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

也適用於我。我也遇到了類似於你的問題。非常感謝。 – user1938357 2013-03-03 22:37:27

+0

請你一步一步描述一下嗎?我正在嘗試,但沒有幫助。 – WindRider 2013-03-10 20:06:02

+0

我已經添加了步驟到我的答案 – fsbmain 2013-03-21 06:58:02

0

我加的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 /源,然後創建一個鏈接「CD SDK & & LN -s平臺源」

現在一切;-)

0

工作對我來說僅是工作的fsbmain答案的解決方案。榮譽給他。由於我的信譽低,我不能評論他的解決方案。但我想分享我的知識;)

我正在使用Windows,並不想將整個源代碼樹複製到另一個位置。並且在更新等時再次複製。因此,我使用了插入符號鏈接的可能性,該鏈接自Windows Vista以來就像魅力(或類似Linux)一樣起作用。對於Linux,你必須在fsbmain的答案下查看Joe的評論。

假設你有在D:\ sdk \ platforms \ android-19的平臺。現在,您必須創建一個子目錄來源,然後創建一個到真實來源文件夾的相對鏈接。

D:\sdk\platforms\android-19>mkdir sources 
D:\sdk\platforms\android-19>cd sources 
D:\sdk\platforms\android-19\sources>mklink /D android-19 ..\..\..\sources\android-19 

現在重新啓動Eclipse ...完成!

1

Murach的Android編程中找到的答案符合我的要求。我被卡住了試圖調試,並嘗試工作了大約3小時,然後才轉到下一頁(字面上),它說「有時Eclipse會顯示未找到源的消息,因爲......」(-headdesk-)

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

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

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

我在對話框頂部選中了「Use Step Filters」,並且「Step through過濾器「在底部檢查。點擊「應用」,然後點擊「確定」關閉對話框。它應該工作。

祝你好運!

+0

我覺得這很有幫助。我還補充說:--com.paypal。* --com.samsung.android。*,我仍然發現更多要添加。一旦我添加了Kate使用的所有內容,以及上面的2,我在進入SOURCE NOT FOUND之前就進入了更遠的過程。 ~~有趣的一點~~我只在調試過程中遇到這些「未找到源」問題,而不是在正常運行期間。我的應用程序在執行過程中有一個致命的例外。所以我的想法是,SOURCE NOT FOUND錯誤可能不會導致我的致命例外。我可能是錯的。 – 2015-09-27 20:18:45

相關問題