Yubico offers two great user experiences on Android employing a simple tap for NFC or a physical connection with USB.
Authentication via NFC is supported by the YubiKey 5 NFC.
Authentication via physical connection is supported by the NFC keys named above and all of the other YubiKeys with the USB connector (see the YubiKey support on Android article for a list of these.
Yubico Android SDK (YubiKit for Android) is an Android library provided by Yubico to enable interaction between YubiKeys and Android devices. The library supports NFC-enabled and USB YubiKeys.
YubiKit is a multi-module library with the following components:
The YubiKit module provides functionality for detecting whether a YubiKey is plugged into a device or connected to a device over NFC.
The OATH module provides functionality to store OATH TOTP and HOTP credentials and obtain one-time codes.
The OTP module provides implementation classes to obtain Yubico OTPs using either USB or NFC.
The PIV module provides an implementation of the Personal Identity Verification (PIV) interface.
The MGMT module provides YubiKey management functionality. This includes a subset of the API for personal customization of the YubiKey and the HMAC-SHA1 challenge-response.
The library includes a demo application implemented in the Kotlin playground, YubiKit Demo App, which provides a complete example of integrating and using all the features of the library in an Android project.
The pre-release version of the YubiKit Android SDK supported a subset of FIDO2 functionality. In this general availability (GA) version, that FIDO2 module has been removed. We recommend developers use the official FIDO2 API for Android provided by Google.
If you run into any issues during the development process, please fill out a developer support ticket and our team will be happy to assist you.