https://github.com/entur/android-nfc-lib
Library for working with internal + external NFC readers on Android
https://github.com/entur/android-nfc-lib
android nfc
Last synced: about 1 year ago
JSON representation
Library for working with internal + external NFC readers on Android
- Host: GitHub
- URL: https://github.com/entur/android-nfc-lib
- Owner: entur
- License: eupl-1.2
- Created: 2022-02-11T10:40:36.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2025-02-18T11:01:16.000Z (over 1 year ago)
- Last Synced: 2025-04-23T06:16:11.333Z (about 1 year ago)
- Topics: android, nfc
- Language: Java
- Homepage:
- Size: 732 KB
- Stars: 27
- Watchers: 15
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.txt
Awesome Lists containing this project
README
[](https://mvnrepository.com/artifact/no.entur.android.nfc)
# android-nfc-lib
This project hosts tools for working with NFC on Android. Modules:
* [wrapper](nfc/wrapper) - wrappers for classes in the `android.nfc` package
* for working with external and internal tags in parallel
* [core](nfc/core) - various helpers for NFC support
* abstract reader activities and Host Card Emulation services
* [external](nfc/external) - basic support for external NFC readers
* [external-acs](nfc/external-acs) - support for ACS readers external NFC readers
* [external-minova](nfc/external-minova) - support for Minova MCR external NFC readers (over network)
* [external-websocket](nfc/external-websocket) - support for interacting with a pool of external readers over websocket
* add NFC support to devices without NFC chips (i.e. emulator / Android TV / certain tablets), and/or
* programmatically interact with multiple cards/readers during testing, using fine-grained controls:
* connect/disconnect reader
* start/stop polling
* trigger tag scans even if the card is statically placed on the reader
# License
[European Union Public Licence v1.2](https://eupl.eu/).
# Obtain
The project is built with Gradle and is [available](https://mvnrepository.com/artifact/no.entur.android.nfc) on the central Maven repository.
# Acknowledgements
This project includes some code from the following projects:
* [external-nfc-api](https://github.com/skjolber/external-nfc-api)
* [nfctools](https://github.com/grundid/nfctools) project
* [smartrac-sdk-java-android-nfc](https://github.com/SMARTRACTECHNOLOGY-PUBLIC/smartrac-sdk-java-android-nfc)
as well as drivers from ACS.
# Troubleshooting
* For [external-websocket](nfc/external-websocket) use a JVM which bundles `smartcardio` packages
# Publish
For local development (.m2)
> ./gradlew clean build publishToMavenLocal --info
For Maven central also add siging info.
> ./gradlew build publishToSonatype closeAndReleaseStagingRepositories --info --stacktrace -Psigning.gnupg.passphrase=xxx -Psigning.gnupg.keyName=yyy
# History
See [CHANGELOG](CHANGELOG.md).