Turasa / libsignal-service-java

GNU General Public License v3.0
39 stars 22 forks source link

`Libsignal_jni.so` and `org.signal.client.internal.Native.Logger_Initialize` not found #27

Closed knycornelius closed 3 years ago

knycornelius commented 3 years ago

Edit: I think this is related to this repository.

I was trying to use this package in my android app. But, the app always force closed when I tried to run it.

Version: 2.15.3_unofficial_19 / 2.15.3_unofficial_20

I got this error message:

2021-05-09 00:54:27.888 11608-11608/com.s2a_mobile_server E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.s2a_mobile_server, PID: 11608
    java.lang.UnsatisfiedLinkError: dlopen failed: library "libsignal_jni.so" not found
        at java.lang.Runtime.loadLibrary0(Runtime.java:1087)
        at java.lang.Runtime.loadLibrary0(Runtime.java:1008)
        at java.lang.System.loadLibrary(System.java:1664)
        at org.signal.client.internal.Native.loadLibrary(Native.java:57)
        at org.signal.client.internal.Native.<clinit>(Native.java:66)
        at org.signal.client.internal.Native.ECPublicKey_Deserialize(Native Method)
        at org.whispersystems.libsignal.ecc.ECPublicKey.<init>(ECPublicKey.java:19)
        at org.whispersystems.libsignal.ecc.Curve.decodePoint(Curve.java:25)
        at com.s2a_mobile_server.SignalConfig.getUnidentifiedSenderTrustRoot(SignalConfig.java:74)
        at com.s2a_mobile_server.ServiceConfig.getServiceEnvironmentConfig(ServiceConfig.java:84)
        at com.s2a_mobile_server.MainActivity.<init>(MainActivity.java:74)
        at java.lang.Class.newInstance(Native Method)
        at android.app.AppComponentFactory.instantiateActivity(AppComponentFactory.java:95)
        at androidx.core.app.CoreComponentFactory.instantiateActivity(CoreComponentFactory.java:45)
        at android.app.Instrumentation.newActivity(Instrumentation.java:1253)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3671)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3968)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
        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:2307)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:246)
        at android.app.ActivityThread.main(ActivityThread.java:8506)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1139)

Here is my current dependencies:

dependencies {
    implementation fileTree(dir: "libs", include: ["*.jar"])
    implementation 'androidx.appcompat:appcompat:1.2.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
    implementation 'com.android.support:multidex:1.0.3'

    implementation 'com.google.protobuf:protobuf-javalite:3.15.6'
    implementation 'com.google.firebase:firebase-database:19.7.0'

    api("com.github.turasa:signal-service-java:2.15.3_unofficial_19")
    implementation('com.google.protobuf:protobuf-javalite:3.15.6')
    implementation("org.bouncycastle:bcprov-jdk15to18:1.68")
}

I "solved" it by adding implementation("org.signal:libsignal-jni-android:0.0.1") to my dependencies, but when I run the app, I got another error like this:

2021-05-09 00:46:32.640 11404-11404/com.s2a_mobile_server E/a_mobile_serve: No implementation found for void org.signal.client.internal.Native.Logger_Initialize(int, java.lang.Class) (tried Java_org_signal_client_internal_Native_Logger_1Initialize and Java_org_signal_client_internal_Native_Logger_1Initialize__ILjava_lang_Class_2)
2021-05-09 00:46:32.642 11404-11404/com.s2a_mobile_server E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.s2a_mobile_server, PID: 11404
    java.lang.UnsatisfiedLinkError: No implementation found for void org.signal.client.internal.Native.Logger_Initialize(int, java.lang.Class) (tried Java_org_signal_client_internal_Native_Logger_1Initialize and Java_org_signal_client_internal_Native_Logger_1Initialize__ILjava_lang_Class_2)
        at org.signal.client.internal.Native.Logger_Initialize(Native Method)
        at org.signal.client.internal.Native.<clinit>(Native.java:67)
        at org.signal.client.internal.Native.ECPublicKey_Deserialize(Native Method)
        at org.whispersystems.libsignal.ecc.ECPublicKey.<init>(ECPublicKey.java:19)
        at org.whispersystems.libsignal.ecc.Curve.decodePoint(Curve.java:25)
        at com.s2a_mobile_server.SignalConfig.getUnidentifiedSenderTrustRoot(SignalConfig.java:74)
        at com.s2a_mobile_server.ServiceConfig.getServiceEnvironmentConfig(ServiceConfig.java:84)
        at com.s2a_mobile_server.MainActivity.<init>(MainActivity.java:74)
        at java.lang.Class.newInstance(Native Method)
        at android.app.AppComponentFactory.instantiateActivity(AppComponentFactory.java:95)
        at androidx.core.app.CoreComponentFactory.instantiateActivity(CoreComponentFactory.java:45)
        at android.app.Instrumentation.newActivity(Instrumentation.java:1253)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3671)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3968)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
        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:2307)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:246)
        at android.app.ActivityThread.main(ActivityThread.java:8506)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1139)

Is there anybody facing the same issue? Can anybody give me some guidances or solutions to solve these issues? Thanks!