簡體   English   中英

如何調試Android平台的Java文件?

[英]How can I debug Android platform java files?

我有興趣進一步了解某些Android服務(例如:ActivityManager,PackageManager等)。 因此,我想遵循它們的執行(僅Java代碼),放置斷點等。這可能在模擬器上還是在目標設備上?

編輯:例如,某些PackageManager(AOSP代碼)位於services / java / com / android / server / pm / PackageManagerService.java。 我意識到這最終成為system_server的線程。

我有root用戶(在模擬器和物理電話中都有),我認為我應該能夠從AOSP源構建這些服務。

我很高興通過日志(日志文件,logcat等)或通過實際的調試工具(gdb,eclipse等)進行工作。 什么最有效? 我應該只向所有內容添加日志消息,還是可以以某種方式在PC上連接IDE,以便深入研究元素,查看堆棧等?

大多數電話不是使用AOSP構建的,而是可以使用AOSP內置的部件來替換這些部件。 所以使用模擬器更好。

  1. 首先,請確保您正在運行相應的系統和源。 我認為模擬器的官方系統映像可以,只需從AOSP中檢出正確的git標簽即可
  2. 在Eclipse中創建一個普通的Java項目,然后將要跟蹤的源添加到該項目中。 這個項目不是可構建的,但是包和類需要由Eclipse正確解析。
  3. 運行仿真器,啟動DDMS,找到要調試的進程,並使用DDMS將其標記為可調試,它將在該進程上顯示一個蜘蛛號和端口號
  4. 在Eclipse中設置Java遠程調試配置,並在步驟3中連接到端口號
  5. 您到達那里,添加斷點並享受。

祝好運。 這對您來說是一項艱巨的工作:)

暫無
暫無

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

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