【问题标题】:How do you debug android platform source code?你如何调试android平台源代码?
【发布时间】:2019-06-06 06:45:05
【问题描述】:

当您遇到 android 源代码问题时,您如何深入研究代码? 例如这个issue
我从调试器中看到 CookieManager 是AwCookieManager
于是从Google search发现setCookie如下:

public void setCookie(final String url, final String value) {  
        nativeSetCookie(url, value);     
}  

但是我很难找到本机代码来查看发生了什么。
我在 Google 中再次搜索,发现了这个 native 和 java 的不同版本,最终得到了这个文件:https://android.googlesource.com/platform/external/webkit/+/4bcd50196a7fe4c0c909ce6a7cfac6a808336611/Source/WebKit/android/jni/CookieManager.cpp

但我不确定这是否是要查看的正确文件,并且我怀疑有一种更智能的方法来调试这些东西。我也不确定如何从该文件中找到被调用的方法。

那么你是怎么做到的呢?

【问题讨论】:

  • 官方指南有一个whole section关于调试Android应用程序。可能值得更具体地说明您希望实现的目标。您是否尝试过使用调试器工具?检查原生库的源代码真的对您有兴趣吗?
  • @E_net4wisheshappyholidays:是的,这很有趣,因为我不明白为什么代码不起作用。我想检查实际的逻辑。 Android Studio 中的调试器不接受原生代码
  • 您只需从源代码的根目录运行make idegen && development/tools/idegen/idegen.sh 即可使用Android Studio。双调试器比使用两个独立的调试器更方便。

标签: android debugging android-source


【解决方案1】:

java代码调试,使用Java远程调试,check this

对于 C++ 代码调试,使用 GDB 远程调试,check this

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-03
    • 2013-01-21
    • 2012-05-16
    • 2018-02-06
    • 2012-07-25
    相关资源
    最近更新 更多