【问题标题】:Loading webrtc-client module with fingerprint sensor, make fingerprint sensors system (.so) file not finding使用指纹传感器加载 webrtc-client 模块,使指纹传感器系统 (.so) 文件找不到
【发布时间】:2020-09-21 13:44:48
【问题描述】:

我正在使用 webrtc-client 项目添加 OTG 指纹传感器实现。指纹传感器库有 .so 文件,我需要将其添加到 jniLibs 文件夹中。而且我已将 webrtc-client android 项目转换为库并尝试将其包含在已经实现指纹传感器的项目中,但是一旦我在项目中添加此模块,应用程序就会开始为指纹传感器 system.so 文件提供错误,这是错误的详细信息:

    Process: com.fingerprint.rcapp, PID: 7793
    java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.fingerprint.rcapp--XpzGpbTo00QmDUMlC48fQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.fingerprint.rcapp--XpzGpbTo00QmDUMlC48fQ==/lib/arm64, /data/app/com.fingerprint.rcapp--XpzGpbTo00QmDUMlC48fQ==/base.apk!/lib/arm64-v8a, /system/lib64, /product/lib64]]] couldn't find "libast2600.so"
        at java.lang.Runtime.loadLibrary0(Runtime.java:1067)
        at java.lang.Runtime.loadLibrary0(Runtime.java:1007)
        at java.lang.System.loadLibrary(System.java:1667)
        at com.fingerprint.rcapp.astdev.natives.PfsBioFpJNI.<clinit>(PfsBioFpJNI.java:95)
        at com.fingerprint.rcapp.astdev.natives.PfsBioFpJNI.createInstance(PfsBioFpJNI.java:110)
        at com.fingerprint.rcapp.astdev.natives.Ast2600.<init>(Ast2600.java:41)
        at com.fingerprint.rcapp.LoginActivity.onCreate(LoginActivity.java:98)
        at android.app.Activity.performCreate(Activity.java:7955)
        at android.app.Activity.performCreate(Activity.java:7944)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1307)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3423)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3595)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2147)
        at android.os.Handler.dispatchMessage(Handler.java:107)
        at android.os.Looper.loop(Looper.java:237)
        at android.app.ActivityThread.main(ActivityThread.java:7814)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1068)

我尝试搜索类似的解决方案,但没有任何对我有利的解决方案,如果有人可以帮助我,那将非常有帮助。谢谢。

编辑

我发现的一件事是 socket.io-client 库和 io.pristine 库正在创建此问题。当我注释掉这两个库时,它工作得很好,但是 webrtc-client 不起作用。

        implementation 'com.github.nkzawa:socket.io-client:0.4.2'
        api 'io.pristine:libjingle:9127@aar'

编辑 2

我已经找到了这个问题的根本原因,OTG指纹传感器库使用32位.so文件但io.pristine:libjingle:9127@aar库使用64位.so文件,所以当我添加这个库时,它是仅在 64 位库中寻找指纹传感器库。为了解决这个问题,我正在尝试实现既支持 64 位库又支持 32 位库,或者向指纹传感器提供商索取 64 位库。

【问题讨论】:

    标签: android module unsatisfiedlinkerror socket.io-java-client


    【解决方案1】:

    通过添加支持 32 位和 64 位库的实现来解决此问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-22
      • 1970-01-01
      • 2018-09-18
      • 1970-01-01
      • 1970-01-01
      • 2016-02-29
      相关资源
      最近更新 更多