簡體   English   中英

調試Android SDK庫

[英]Debugging Android SDK libraries

我現在想要一種逐步瀏覽SDK庫(C和Java代碼)的方法,以查明發生了什么。 到目前為止,我已經安裝了NDK並啟動了GDB並開始運行。 我能夠堅持這個過程。 我已經嘗試過btstrace但是沒有提供任何有用的信息。

  1. 為了能夠從SDK進入Java代碼(以及涉及到本機C代碼)並逐行瀏覽代碼,我需要做什么?

  2. 有沒有一種方法可以使用GDB提供更多有用的信息?

Android是一個多進程UI框架,各方之間通過活頁夾進行通信。 作為sdk開發人員,如果在提示時將源jar附加到ADT項目,則應該能夠進入客戶端Java源。 如果要調試應用程序的JNI代碼,則可以使用NDK調試工具。 如果要進入這些層以下或調試多個進程,這將變得很棘手。

參閱調試Android Java應用程序的本機庫文章,以了解逐步進入客戶端本機框架庫的過程。

如果要調試system_server的Java代碼(托管核心框架服務的進程),請參閱調試Android Java框架服務文章。

我已經能夠部分回答我的問題,不幸的是,答案並非易事。

調試Java

要調試Java源代碼,您需要獲取Android本身的源代碼。 該文件位於: source.android.com 那里提供了有關如何下載源的說明。 這些說明聲稱您可能需要在OSX或Linux上執行這些步驟,盡管可能可以使用Cygwin。 如前所述這里 ,該文件不在一個一致的位置。 我使用前面提到的頁面上提供的python腳本來生成源的zip文件。 將Java文件放在一個位置后,您要做的就是在進入編譯的Java代碼時將Eclipse指向那些文件。

調試本機

我仍在研究這一部分,到目前為止,我可以使用Cygwin的GDB連接到我的應用程序,但尚未真正進入本機C文件。 據推測,這些庫將需要在調試模式下構建。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM