Android jnijava-to-C++;调用在Eclipse中构建时有效,但在通过命令行构建时无效

Android jnijava-to-C++;调用在Eclipse中构建时有效,但在通过命令行构建时无效,android,eclipse,ant,java-native-interface,static-libraries,Android,Eclipse,Ant,Java Native Interface,Static Libraries,函数调用在.so文件中实现。当我从命令行构建时,当代码试图从Java调用本机函数时,我得到了不满意的LinkError(C-to-Java工作正常)。最奇怪的是,当我对调用进行外部处理并获得指向它们的指针时,指针是有效的,那么不满意的链接错误仍然会发生 我想主要的问题是,Eclipse做了什么,而命令行没有(反之亦然)?我不知所措,需要让它工作起来,因为其他开发人员和构建服务器无法通过Eclipse进行构建 另一个问题是,当使用这种机制(在Android中)时,如何找到和调用函数?我读了一些关于

函数调用在.so文件中实现。当我从命令行构建时,当代码试图从Java调用本机函数时,我得到了不满意的LinkError(C-to-Java工作正常)。最奇怪的是,当我对调用进行外部处理并获得指向它们的指针时,指针是有效的,那么不满意的链接错误仍然会发生

我想主要的问题是,Eclipse做了什么,而命令行没有(反之亦然)?我不知所措,需要让它工作起来,因为其他开发人员和构建服务器无法通过Eclipse进行构建

另一个问题是,当使用这种机制(在Android中)时,如何找到和调用函数?我读了一些关于这方面的信息,但没有什么能帮助我解决这个问题

由于它在Eclipse中工作,我相信我的JNI命名约定是正确的

我在网上查阅了很多资料,但似乎找不到一个好的答案


仅供参考,.so文件包含在APK文件中(看起来几乎相同),它是唯一的.so文件。

如何编译
.so
文件?您是否将
-fvisibility=hidden
标志传递给g++(前提是您使用g++进行编译)?和
-fPIC