NFC Services

The NFC Services module is an optional updatable Mainline module released in Android 16. This module contains the following components:

  • NFC API classes: framework-nfc.jar
  • NFC Java framework handling all the APIs: NfcNci.apk
  • NCI JNI interface: libnfc_nci_jni.so
  • NCI built-in stack interfacing with the NFC HAL: libnfc_nci.so

Module boundary

NFC Mainline stack architecture

Figure 1. NFC Mainline stack architecture.

The NFC Services Mainline APEX com.android.nfcservices contains the following:

  • NFC API surface (Java)
  • NFC system APK (Java)
  • NFC built-in stack (C++)

The codebase is located at packages/modules/Nfc.

Package format

The main function of this module is included in the APEX package com.android.nfcservices.

Dependencies

  • HAL implementation dependency on the NFC chip vendor or OEM
  • Secure element for all secure service interactions
  • Core framework for NFC runtime permission enforcement