Android Emulator Fingerprint Authenticate Failing

I’m in need of some appium help. I have appium authenticating an app with biometrics enabled on android. The app running in Sauce Labs uses a different call to authenticate biometrics than a local emulator. The call to Sauce Labs works perfectly, but when doing the calls on a local android emulator, they fail to authenticate. The Android emulator has a fingerprint setup on fingerprint 1. I am using python and tried,

driver.finger_print(1)

It fails. I then bypassed driver with the appium http api like this,

http://0.0.0.0:4723/wd/hub/session/<appium_session_id>/appium/device/finger_print

with a json body of,

{
  "fingerprintId": 1
}

and it still fails. the appium server output is,

[HTTP] --> POST /wd/hub/session/a4488470-2f44-4c51-b145-ec930b10a4fc/appium/device/finger_print
[HTTP] {"fingerprintId":1}
[W3C (a4488470)] Calling AppiumDriver.fingerprint() with args: [1,"a4488470-2f44-4c51-b145-ec930b10a4fc"]
[ADB] Getting connected emulators
[ADB] Getting connected devices
[ADB] Connected devices: [{"udid":"emulator-5554","state":"device"}]
[ADB] 1 emulator connected
[ADB] Running '/Users/Shel/Library/Developer/Xamarin/android-sdk-macosx/platform-tools/adb -P 5037 -s emulator-5554 emu finger touch 1'
[W3C (a4488470)] Responding to client with driver.fingerprint() result: null

I have also ran the adb command locally.

adb -e emu finger touch 1

it failed.

I’ve have even done the telnet option,

telnet 127.0.0.1 5554
finger touch 1

It also fails.

In every case this is what I see on the screen. I should mention this is a React Native app.

If I manually use the emulator and select fingerprint 1 in the device manage screen it will authenticate. So the fingerprint is there and is recognized. The emulator is running on a mac in Android Studio and is a Pixel 4 XL with Android 12 at API 31.

ANY help here would be appreciated. I’m really stuck.

Anyone? I’m really tapped out on what I know to try here.

Does anyone know where I can ask a question like this and get an answer? Log a GitHub issue maybe? Thanks.

UIA2 driver basically does the same - it acts as a proxy to execute adb command. This means if you cannot make it work using adb then there is no way for this feature to work with UIA2 driver as well.