BlinkID / blinkid-android

Everything you need to add AI-driven ID scanning into your native Android app.
https://microblink.com/identity/identity-document-scanning/
438 stars 153 forks source link

Invalid license buffer magic number. #304

Closed mandrachek closed 8 months ago

mandrachek commented 9 months ago

We've seen a couple of crash reports come in when setting license keys:

com.microblink.blinkid.licence.exception.InvalidLicenceKeyException
Invalid license buffer magic number. License buffer is corrupted!

Both crashes are from Android 11, one OnePlus8Pro and one Huawei Enjoy 9s. Using SDK 6.2.2

Any ideas what could cause this?

mandrachek commented 9 months ago

I found a reference to this same exception #163 - I'm sure quite sure that our key is correct. This appears to only happen occasionally, and so far we have only seen it on Android 11.

MBrizic01 commented 9 months ago

Hi @mandrachek , thank you for reaching out. This kind of license exception usually indicates that you haven't properly entered the license key string. Usually, there is an additional character, or an additional space is added in the license key string.

We are supporting Android 11, so this shouldn't be an issue.

If the exception is happening occasionally, it could indicate that the affected devices are rooted. Are you able to check it on your end? Does it happen in a testing or production environment?

mandrachek commented 9 months ago

@MBrizic01 - it's in our production release. According to crashlytics, both devices are rooted.

MBrizic01 commented 9 months ago

@mandrachek Thank you for checking this. Please reach out to support@microblink.com with the license key number and described behavior. Meanwhile, we will check if we can test it on the reported devices and let you know our findings.

MBrizic01 commented 8 months ago

@mandrachek We checked this further and cannot guarantee that our SDK will work on such devices. Officially, we do not support devices that are jailbroken/rooted. We expect the original OS to be published by the device manufacturer as we know their standards so we can test our builds to ensure that everything is working correctly.