我正在尝试将so
文件(已经编译的本地C / C ++代码)加载到我的Android应用程序中,但它不起作用(抛出异常并且应用程序停止工作)。< / p>
E / AndroidRuntime:致命异常:Thread-685 处理:com.dsyr.selftoidcardmatcherdemo,PID:11990 java.lang.UnsatisfiedLinkError中:
如果我将targetSdkVersion更改为21,那么它运行良好。那么在targetSdkVersion 26中lib无法加载的原因是什么?在版本26中我们应该做些什么吗?
答案 0 :(得分:0)
我也遇到了同样的问题,我试试这个 删除所有64位库,只留下32位库:
APP_API := armeabi armeabi-v7a x86 mips
app gradle
defaultConfig {
ndk {
abiFilters "armeabi", "armeabi-v7a", "x86", "mips"
}
}
gradle.properties
android.useDeprecatedNdk=true
Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := Native
LOCAL_SRC_FILES := ../cpp/native.cpp // your native c++ file
LOCAL_C_INCLUDES := ../cpp/native-handler.h //if u have header File
LOCAL_LDLIBS := -lz -llog -ljnigraphics
include $(BUILD_SHARED_LIBRARY)
它将使用32位库用于64位