JNI错误(应用程序错误):已访问过时的本地引用0xaa4a8c0d(大小为6的表中的索引41731)

时间:2019-07-03 10:20:58

标签: android

我有一个使用JNI的android项目。在abiFilters = arm64-v8a上运行时可以很好地工作,但是在abiFilters = armeabi上崩溃了,我不知道出了什么问题,有人可以给我个主意吗?
我的ndk配置:

    minSdkVersion =21  
    APP_ABI := armeabi  
    APP_CPPFLAGS += -fexceptions -frtti  
    APP_STL := stlport_shared  
    NDK:android-ndk-r16b

这是发生错误的主要代码:

private native String nativeJFSign(long security, String data, String user);
jstring Java_com_ibestfin_app_android_JFSecurity_nativeJFSign
        (JNIEnv *env, jobject thiz, JFSecurity *s, jstring payload, jstring user) {
    const char *p_data = env->GetStringUTFChars(payload, NULL);
    const char *p_user = env->GetStringUTFChars(user, NULL);
    char *outstr = s->jfSign(p_data, p_user);
    jstring result = env->NewStringUTF(outstr);
    //当outstr为空字串和NULL时候不需要释放内存。
    if ((outstr != NULL) && (strcmp(outstr, "") != 0)) {
        delete outstr;
        outstr = NULL;
    }
    return result;
}

由于受空间的限制,我无法将完整的日志写入此处, 完整的崩溃日志请点击此处:https://pastebin.com/ahzLAUgm

0 个答案:

没有答案