标签: android c java-native-interface
我有一个.so文件,我想在我的Android应用程序中加载并使用其中的函数。通常,要将它与Java代码一起使用,我可以使用System.loadLibrary() or System.load()
System.loadLibrary()
or System.load()
但是,我没有用Java代码加载它,我只想用C代码加载它来调用里面的函数。但我不知道正确的方法。 特别是.so文件不包含在apk文件中。我想在apk中使用C代码并加载位于SDCARD上的.so文件
答案 0 :(得分:0)
dlopen()加载库,然后加载dlsym()以获取与库中定义的符号关联的地址。
void* my_library = dlopen("libMine.so", RTLD_LAZY); if (my_library == NULL) { // report error ... } else { // use the result in a call to dlsym }