gpt4 book ai didi

android - 如何调试Android的NFC实现?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:41:20 27 4
gpt4 key购买 nike

这个问题可以分解成多个更小的问题。最终结果将是能够在 Galaxy Nexus (Android 4.1) 设备的 C/C++ NFC 实现中设置断点,使用 gdb 等调试器检查其内部状态。

  1. 是否可以用包含调试符号的库替换 Galaxy Nexus 设备上的库?
  2. 是否可以使用 gdb 调试 Android 设备的 C/C++ 实现?
  3. 是否可以交叉编译 Android 的 NFC 实现?
  4. 是否有任何人尝试与其他图书馆进行类似尝试的例子?

更新: Rooting the devicecompiling Jellybean整体进展顺利,但有一些小错误。事实上有一些very nice flags在 libnfc makefile 中,它在通信时启用大量输出。

但是还是存在调试问题。要调试 libnfc(外部/libnfc-nxp),我必须使用最有可能是 Nfc 管理器(packages/apps/Nfc)的库将自己附加到进程。要调试应用程序,我必须设置 debuggable flag .如果我重建 Nfc 管理器,签名与设备上已安装的签名不匹配,这意味着 adb install -r <file>不会工作。 adb uninstall com.android.nfc也不起作用。使用简单地从 /system/app 中删除 apk 的困难方法创建错误 INSTALL_FAILED_SHARED_USER_INCOMPATIBLE当我尝试安装新的时。此时 Nfc 根本不起作用,我不得不重新刷新库存图像。

还有其他关于如何调试 libnfc 库的想法吗?

最佳答案

一般来说,答案是肯定的。完整的 Android NFC 实现是 Android Open Source Project 的一部分.对您问题的特定部分的回答:

  1. 是的,您需要解锁引导加载程序并对您的设备进行 root 操作才能以读/写模式挂载系统分区,这样您就可以替换 NFC 库。
  2. 是的,您应该能够使用 gdb 进行远程调试。不过,我实际上从未这样做过。
  3. 是的,只需下载 Android 源代码并编译 NFC 堆栈的相关部分。相关部分在packages/apps/Nfc(NFC管理器),external/libnfc-nxp(C库),frameworks/base/core/java/android/nfc(Java NFC API)和vendor/nxp(NFC芯片固件)。
  4. 是的,参见例如How to debug an App on Android with GDBSERVER?https://www.google.com/search?q=remote+gdb+android . (这个问题也可能是相关的:Remote debugging with Android emulator)

关于android - 如何调试Android的NFC实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12131513/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com