【发布时间】: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