好的!所以我找到了解决我遇到的问题的方法!
在Nexus 7上,当NFC打开时,它会从"/etc/"中的一个名为"libnfc-brcm-20791b05.conf"的配置文件中获取其信息。
在这个文件中有一个叫做"NFA_DM_START_UP_CFG"的参数。
默认情况下,它是这样的:
NFA_DM_START_UP_CFG={42:CB:01:01:A5:01:01:CA:14:00:00:00:00:0E:C0:D4:01:00:0F:00:00:00:00:C0:C6:2D:00:14:0A:B5:03:01:02:FF:80:01:01:C9:03:03:0F:AB:5B:01:00:B2:04:E8:03:00:00:CF:02:02:08:B1:06:00:20:00:00:00:12:C2:02:01:C8}
要编辑在仿真中生成的UID,您需要向该参数添加一些字节。
您要添加的第一个字节是0x33(这意味着您将手动设置UID)。
添加的第二个字节是您要设置的UID的长度(可以为4、7或10个字节,因此第二个字节可以为0x04、0x07或0x0A)。
接下来的字节就是您要设置的ID!(注意:根据您添加的字节数,您应该更改数组的第一个字节以反映数组的新大小 - 它从42开始,因此如果您要添加6个字节,它应该变成48)
例如,如果您希望设置一个由01 02 03 04 05 06 07组成的7字节ID,则新的配置行将如下所示:
NFA_DM_START_UP_CFG={4B:CB:01:01:A5:01:01:CA:14:00:00:00:00:0E:C0:D4:01:00:0F:00:00:00:00:C0:C6:2D:00:14:0A:B5:03:01:02:FF:80:01:01:C9:03:03:0F:AB:5B:01:00:B2:04:E8:03:00:00:CF:02:02:08:B1:06:00:20:00:00:00:12:C2:02:01:C8:33:07:01:02:03:04:05:06:07}
然后,您可以使用adb将此配置文件推送到您的nexus设备:
-> adb root
-> adb remount
-> adb push libnfc-brcm-20791b05.conf /etc/
-> adb reboot
这将使用新的配置文件重置Nexus,并在仿真时将UID设置为01 02 03 04 05 06 07。
希望这能帮助任何阅读我的问题的人!