PhotoPay/photopay-android

Compatibility check crashes the app

Closed this issue · 2 comments

When running the compatibility check:

// check if PhotoPay is supported on the device,
RecognizerCompatibilityStatus status = RecognizerCompatibility.getRecognizerCompatibilityStatus(this);

if (status == RecognizerCompatibilityStatus.PROCESSOR_ARCHITECTURE_NOT_SUPPORTED) {
    Toast.makeText(this, "PhotoPay is not supported on current processor architecture!", Toast.LENGTH_LONG).show();
} 

The app crashes immediately on app open. The emulator is running on a Intel based Mac, Android 11. Photopay sdk version 9

Error on app crash:

Error loading native library
java.lang.UnsatisfiedLinkError: dlopen failed: library "libBlinkPhotoPay.so" not found
at java.lang.Runtime.loadLibrary0(Runtime.java:1077)
at java.lang.Runtime.loadLibrary0(Runtime.java:998)
at java.lang.System.loadLibrary(System.java:1661)
at com.microblink.photopay.secured.IllllIIIIl.IllIIIllII(line:9)
at com.microblink.photopay.hardware.MicroblinkDeviceManager.<clinit>(line:35)
at com.microblink.photopay.hardware.MicroblinkDeviceManager.IllIIIIllI(line:1)
at com.microblink.photopay.secured.IllllIIIIl.IllIIIllII(line:3)
at com.microblink.photopay.secured.IllllIIIIl.llIIlIlIIl(line:1)
at com.microblink.photopay.util.RecognizerCompatibility.getRecognizerCompatibilityStatus(line:2)

The compatibility check is to prevent running any native code on non arm devices.

Is this a known issue?

Hi @OmedMilat

This is expected behavior, as we do not support running the SDK on emulators.
Are you getting the same exception when building the SDK on a physical device?

Hi @mparadina

Thanks for the fast response, i don't have a non arm architecture device. But the info you provided is helpful.