iink SDK on Device

Android SDK V1.3.1 have occasional exceptions on Android 9.0

image


 

RecognitionEngine recognitionEngine = RecognitionEngine.authEngine(context);

 


Dear Sir,


thank you for contacting us.


By default, our samples deploy the native libraries into the "/data/data/my.application.package/lib" directory.


In the current case, it seems you have "rooted devices", and you deploy in the "/system/lib" directory. The error is then indicated in the screenshot you posted: the libc++_shared.so is indeed needed by our iink SDK. You shall then deploy it into the /system/lib directory.


You can find it into the iink.aar file we provide (for arm64, you can find it into the "jni/arm64-v8a" directory).


Also, we notice you are using the iink 1.3.1. Please note last July, we released the iink 1.4.1. We then recommend you update to the latter one.


Best regards,


Olivier

Dear Sir,


currently, please find an addendum. as you mentionned this occurs occasionaly on devices running Android 9.


Indeed, from Nougat onwards, Android prevents the runtime linkage of private symbols from system libraries. You shall either:

  • Include those libraries in your APK so that you don't need to look for them in /system/lib/
  • Or modify your Android ROM so that those libraries are considered public. This can be done by adding those libraries to /system/etc/public.libraries.txt.

You can refer to the following topics:

-https://stackoverflow.com/questions/59608865/library-is-not-accessible-for-the-namespace-classloader-namespace

-https://android-developers.googleblog.com/2016/06/improving-stability-with-private-cc.html


Let us know if this helps.


Best regards,


Olivier

Login or Signup to post a comment