如何在c代码android中使用.so文件

时间:2016-03-09 12:11:26

标签: android c java-native-interface

我有一个.so文件,我想在我的Android应用程序中加载并使用其中的函数。通常,要将它与Java代码一起使用,我可以使用System.loadLibrary() or System.load()

但是,我没有用Java代码加载它,我只想用C代码加载它来调用里面的函数。但我不知道正确的方法。 特别是.so文件不包含在apk文件中。我想在apk中使用C代码并加载位于SDCARD上的.so文件

1 个答案:

答案 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
}