小编Cri*_*fer的帖子

com.getkeepsafe.relinker.MissingLibraryException:librealm-jni.so

我向商店发送了一个新版本,当我打开它时,它崩溃了。在调试模式下没有发生,但在发布构建类型中我可以重现它。

例外的是:

Fatal Exception: java.lang.RuntimeException: Unable to create application asd.esa.persistent.ESApp: com.getkeepsafe.relinker.MissingLibraryException: librealm-jni.so
       at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6123)
       at android.app.ActivityThread.access$1200(ActivityThread.java:213)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1807)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loop(Looper.java:193)
       at android.app.ActivityThread.main(ActivityThread.java:6923)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:870)
Run Code Online (Sandbox Code Playgroud)

java android realm kotlin

9
推荐指数
1
解决办法
5912
查看次数

java.lang.UnsatisfiedLinkError:未找到实现(NDK、Kotlin)-已修复

我使用 NDK 在 C 中的文件如下,我查看了 Kotlin 中的包名称和 C 类 (NDK) 中的包名称,没有发现任何区别:

 jstring Java_com_test1_app1_ui_BaseActivity_getLocalKeyOld(JNIEnv* env, jobject obj, jstring id) {
    const char *nativeString = (*env)->GetStringUTFChars(env, id, 0);

    char* deviceIdEncode = base64encode(nativeString);
    int lenght = strlen(deviceIdEncode);

    jstring result;
    if(lenght < 16) {
        result = (*env)->NewStringUTF(env,"+-0wef2ccfeqa0-+");
    } else if(lenght > 16) {
        char subbuff[17];
        memcpy( subbuff, &deviceIdEncode[0], 16 );
        subbuff[16] = '\0';
        result = (*env)->NewStringUTF(env,subbuff);
    } else {
        result = (*env)->NewStringUTF(env,deviceIdEncode);
    }
    return result;
}


jstring Java_com_test1_app1_ui_BaseActivity_getLocalKey(JNIEnv* env, jobject obj, jstring id) { …
Run Code Online (Sandbox Code Playgroud)

string android android-ndk unsatisfiedlinkerror kotlin

2
推荐指数
1
解决办法
7456
查看次数