andOTP is the my favorite 2FA app for Android. It is a security product, so being open source is a huge bonus. In addition, it integrates with OpenKeychain to sign and encrypt OTP backups, so that when you get a new device, you don't have to reset every single 2FA key. Some proprietary apps support this via Cloud sync, but then your 2FA codes are sitting on infrastructure you don't control, so I think andOTP's approach is better. On newer versions of Android, it integrates with the fingerprint reader to authenticate on startup, which is a nice touch as well.