Skip to main content

Requirements

  • minSdkVersion 23 or higher
  • Android device with NFC hardware

1. App-Level build.gradle

Open android/app/build.gradle and add the following inside the android {} block and under dependencies:
android/app/build.gradle

2. Project-Level build.gradle

Open android/build.gradle and ensure Kotlin is configured in the buildscript block:
android/build.gradle

3. AndroidManifest.xml — Permissions & HCE Service

Open android/app/src/main/AndroidManifest.xml and add the NFC permissions and the HCE card service:
android/app/src/main/AndroidManifest.xml
android:enabled="true" is required. The HCE session lifecycle (on/off) is managed internally by the SDK’s JS bridge. The service itself must be enabled in the manifest for the Android OS to discover it.

4. AID List XML

Create the file android/app/src/main/res/xml/aid_list.xml (create the xml/ directory if it doesn’t exist):
android/app/src/main/res/xml/aid_list.xml
This AID (Application Identifier) tells the Android NFC stack which APDU service to route incoming NFC requests to — specifically the TapRails HCE emulation service.

5. Verify

Build and run your Android app:
The app should launch without build errors. To confirm NFC is working, proceed to the Get Started and run the merchant flow on an Android device.
All done on Android! No additional linking is required — React Native’s autolinking handles the native module registration.