开发者社区 问答 正文

调用实人认证异常java.lang.UnsatisfiedLinkError

在调用实人验证到达人脸验证那一步环节app报错 java.lang.UnsatisfiedLinkError: No implementation found for int com.alibaba.security.biometrics.jni.ALBiometricsJni.getLicenseResult() (tried Java_com_alibaba_security_biometrics_jni_ALBiometricsJni_getLicenseResult and Java_com_alibaba_security_biometrics_jni_ALBiometricsJni_getLicenseResult__) at com.alibaba.security.biometrics.jni.ALBiometricsJni.getLicenseResult(Native Method) at com.alibaba.security.biometrics.jni.ALBiometricsJni.load() at com.alibaba.security.biometrics.service.build.n.a(ABFrameDetector.java:29) at com.alibaba.security.biometrics.service.build.L.V(ABStateMachine.java:8) at com.alibaba.security.biometrics.service.build.L.R(ABStateMachine.java:5) at com.alibaba.security.biometrics.service.ALBiometricsService.start(ALBiometricsService.java:6) at com.alibaba.security.biometrics.build.U.b(ALBiometricsPresenter.java:36) at com.alibaba.security.biometrics.build.U.o(ALBiometricsPresenter.java:1) at com.alibaba.security.biometrics.build.U.surfaceChanged(ALBiometricsPresenter.java:4) at android.view.SurfaceView.updateWindow(SurfaceView.java:687) at android.view.SurfaceView$3.onPreDraw(SurfaceView.java:202) at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:847) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2310) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1267) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6501) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:800) at android.view.Choreographer.doCallbacks(Choreographer.java:603) at android.view.Choreographer.doFrame(Choreographer.java:572) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:786) at android.os.Handler.handleCallback(Handler.java:815) at android.os.Handler.dispatchMessage(Handler.java:104) at android.os.Looper.loop(Looper.java:179) at android.app.ActivityThread.main(ActivityThread.java:5543) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:956) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:751)

配置都看了,都配置好了,不知道问题出在哪里 求解答

展开
收起
游客7thwvrrm22yhm 2020-10-14 10:14:25 779 分享 版权
阿里云 AI 助理回答

遇到这个错误java.lang.UnsatisfiedLinkError: No implementation found for...,通常意味着你的应用在尝试调用一个本地方法(native method),但是对应的本地库(native library)没有被正确地加载或者找不到。对于阿里云实人认证SDK中的问题,这可能是因为以下几个原因造成的:

  1. 本地库未包含或路径不正确:确保你的APP中已经包含了所有必要的.so文件,并且这些文件放置在正确的ABI目录下(例如jniLibs/armeabi-v7a, jniLibs/arm64-v8a等)。如果你使用的是Android Studio,这些文件应该自动被打包进APK,但如果是自定义构建系统,需要确认打包流程是否正确。

  2. 依赖管理问题:检查你的build.gradle文件,确保你正确地引入了阿里云实人认证SDK的依赖,并且版本是最新的或者与你的项目兼容。如果有指定特定的abiFilters,确保它们覆盖了你的测试设备对应的ABI类型。

  3. Proguard配置:如果开启了代码混淆,确保Proguard规则中包含了对阿里云实人认证SDK相关类和方法的保留配置,避免它们被误删或混淆。

  4. 动态加载机制问题:部分SDK可能采用动态加载.so文件的方式,确保你的应用有相应的权限(如读取文件权限),并且加载路径是正确的。检查是否有特定的初始化方法需要在Application中调用以设置正确的环境。

  5. 设备兼容性问题:虽然较少见,但某些特定设备或Android版本可能存在兼容性问题。可以尝试在其他设备或模拟器上验证问题是否复现。

解决步骤建议:

  • 重新检查集成文档:对照阿里云实人认证SDK的最新集成文档,一步步核对是否有所遗漏。
  • 清理并重建项目:有时候旧的构建产物可能会导致问题,尝试清理项目(Build > Clean Project)后重新编译。
  • 日志分析:开启更详细的日志输出,查看是否有更多关于本地库加载失败的提示信息。
  • 联系技术支持:如果以上步骤都无法解决问题,建议直接联系阿里云的技术支持,提供详细的错误日志和你的集成步骤,以便他们能更准确地定位问题所在。
有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
问答分类:
问答标签:
问答地址: