Android ndk删除“lib”前缀

时间:2014-01-18 21:13:47

标签: compiler-construction android-ndk native

我正在编译一些库中的本机代码,以便在我的应用中使用。一切都很好,但有些事情困扰着我。

本机代码的输出添加了“lib”前缀,因此“mylibrary”变为“libmylibrary.so”,我将它作为“mylibrary”<

我不能删除此前缀吗?这可能听起来很奇怪,但请记住,我对编译本机代码没有任何了解,或者在c上没有这方面的知识

1 个答案:

答案 0 :(得分:1)

“lib”前缀是Unix早期的命名约定。当链接器使用共享对象 -l <​​/ kbd>时,此前缀是必需的,请参阅更多here。当您使用System.loadLibrary()时,前缀也隐含在Java中。 Android ApkBuilder和系统安装程序也需要前缀(请参阅详细信息here)。

但是如果你真的想要命名为“mylibrary.so”,则可以创建这样的文件,并使用System.load(fullpath)将其加载到Java中。您将自己负责部署此文件。