如何调试Android的NFC实现?

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

>是否可以将Galaxy Nexus设备上的库替换为包含调试符号的库?
>是否可以使用gdb来调试Android设备的C/C++实现?
>是否可以交叉编译Android的NFC实现?
>有没有人尝试过与其他图书馆类似的东西的例子?

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

但是仍然存在调试问题.要调试libnfc(external / libnfc-nxp),我必须使用最可能是Nfc Manager(packages / apps / Nfc)的库将自己附加到进程.要调试应用程序,我必须设置debuggable flag.
如果我重建Nfc Manager,则签名与设备上已安装的签名不匹配,这意味着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的一部分.您问题的具体部分的答案:

>是的,您需要解锁引导加载程序并根设备以便能够以读/写模式安装系统分区,以便您可以更换NFC库.
>是的,您应该能够使用gdb进行远程调试.不过,我从未真正做过这件事.
>是的,只需下载Android源代码并编译NFC堆栈的相关部分即可.相关部分位于packages / apps / Nfc(NFC管理器),external / libnfc-nxp(C库),frameworks / base / core / java / android / nfc(Java NFC API)和vendor / nxp(NFC芯片固件) .
>是的,请参阅例如How to debug an App on Android with GDBSERVER?https://www.google.com/search?q=remote+gdb+android.(这个问题也可能相关:Remote debugging with Android emulator)

相关文章

以下为个人理解,如错请评 CE: 凭据加密 (CE) 存储空间, 实际路径/data/user_ce/ DE: 设备加密 (DE) 存...
转载来源:https://blog.csdn.net/yfbdxz/article/details/114702144 用EventLog.writeEvent打的日志(或...
事件分发机制详解 一、基础知识介绍 1、经常用的事件有:MotionEvent.ACTION_DOWN,MotionEvent.ACTION...
又是好久没有写博客了,一直都比较忙,最近终于有时间沉淀和整理一下最近学到和解决的一些问题。 最近进...
Android性能优化——之控件的优化 前面讲了图像的优化,接下来分享一下控件的性能优化,这里主要是面向...
android的开源库是用来在android上显示gif图片的。我在网上查了一下,大家说这个框架写的不错,加载大的...