31

有没有办法在没有支持 NFC 的手机的情况下开发 NFC 标签读/写应用程序?有没有办法创建启用了 NFC 的 AVD?我已经搜索并发现 Open NFC 存在,但我现在找不到太多关于它的信息。它已经过时了吗?还有其他方法可以实现吗?

4

1 回答 1

19

Google 从未在 AVD 中实现对 NFC 的支持。所以安卓设备模拟器中没有官方对NFC的支持。

早在 Android 上 NFC 的早期,Inside Secure 就开发并发布了 NFC 堆栈“Open NFC”。尽管有它的名字,Open NFC 并不像它的名字所暗示的那样开放,并且主要针对 Inside 的 NFC 前端范围。该 NFC 堆栈的一个很好的副作用是它的仿真器集成,类似于诺基亚的 NFC 虚拟设备支持其 S40 系列手机的功能。Open NFC 项目的公共文件仍然可以在 SourceForge 上找到:这里。然而,该项目早就被放弃了(可能是由于将他们的 NFC 技术卖给了英特尔)。

Open NFC 的最新版本针对 Android 4.2.1(与 Android 4.2.2 一起使用),因此如果您可以接受该平台,您可以尝试设置该 AVD 环境。此处提供了分步指南:Open NFC Simulator Usage(有关缺少的组件,请参见此处:Failed to load open-nfc addon in android platform)。

较新 Android 版本上的 NFC 堆栈发生了显着变化(如今,整个 Android NFC 堆栈基于 libnfc-nci,最初针对 Broadcom 的 NFC 控制器并实施了 NFC 论坛的 NFC 控制器接口规范)。因此,Open NFC 的实施不再兼容最新的 Android 版本。

请注意,仍然可以通过注入 NFC 意图通过代码进行至少一些有限的测试(例如,对单元测试有用)。看

但请注意,这些方法依赖于 Android NFC 堆栈的内部结构,您可能需要查看您所针对的任何 Android 版本的代码,以模拟正确的信息。

于 2018-03-15T07:27:03.757 回答