如何在c代码android中使用.so文件
我有一个.so文件,我想为我的android应用程序加载并使用其中的函数。通常,要与Java代码一起使用,我可以使用如何在c代码android中使用.so文件,android,c,java-native-interface,Android,C,Java Native Interface,我有一个.so文件,我想为我的android应用程序加载并使用其中的函数。通常,要与Java代码一起使用,我可以使用System.loadLibrary()或System.load() 但是,我不想用Java代码加载它,我只想用C代码加载它来调用里面的函数。但是我不知道该怎么做。 特别是.so文件不包括在apk文件中。我想在apk中使用C代码并加载SD卡上的.so文件来加载库,然后获取与库中定义的符号相关联的地址 void* my_library = dlopen("libMine.so", R
System.loadLibrary()
或System.load()
但是,我不想用Java代码加载它,我只想用C代码加载它来调用里面的函数。但是我不知道该怎么做。
特别是.so文件不包括在apk文件中。我想在apk中使用C代码并加载SD卡上的.so文件来加载库,然后获取与库中定义的符号相关联的地址
void* my_library = dlopen("libMine.so", RTLD_LAZY);
if (my_library == NULL)
{
// report error ...
}
else
{
// use the result in a call to dlsym
}
阅读和相关函数。你能给我举个例子吗?举例来说,我很容易理解这个问题。你真的读过链接的手册吗?你看过下面的例子了吗?现在,当您知道要使用哪些函数时,您是否尝试过搜索其他示例?是的。你的推荐信对我来说真的很好。这就是我要找的。很抱歉在仔细阅读之前先问一下。现在我明白了。顺便说一句,我想再问你一件事。.so文件是由ndk build生成的。是否可以完美地使用dlopen和dlsym?因为我是新手,所以我只是要求在深入研究之前确认一下