求救大神:android studio 开发,运行时加载so失败
java.lang.UnsatisfiedLinkError: dlopen failed: library "../../../../libs/armeabi-v7a/libebase_define.so" not found
引入第三方库libebase_define.so,编译OK
但是在运行时闪退,错误日志如上,请问这个路径是在哪里配置的,为啥会加载这个目录?
1、CMakeLists.txt 配置如下:
set(distribution_DIR ${CMAKE_SOURCE_DIR}/libs)
add_library( ebase_define
SHARED
IMPORTED)
set_target_properties( ebase_define
PROPERTIES IMPORTED_LOCATION
${distribution_DIR}/armeabi-v7a/libebase_define.so)
target_link_libraries( # Specifies the target library.
native-lib
ebase_define
# Links the target library to the log library
# included in the NDK.
${log-lib})
2、build.gradle 配置如下:
defaultConfig/externalNativeBuild:
cmake {
cppFlags ""
abiFilters "armeabi-v7a"
}
defaultConfig:
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
3、java
public class MainActivity extends AppCompatActivity {
// Used to load the 'native-lib' library on application startup.
static {
System.loadLibrary("native-lib");
System.loadLibrary("ebase_define");
}
请问,运行时,为什么按那个../../../../libs/armeabi-v7a 这个路径加载?怎么配置才能正确的找到这个so?