我正在将一些本机代码编译到库中以在我的应用程序中使用。一切都很好,但有些事情困扰着我。
本机代码的输出添加了“lib”前缀,因此“mylibrary”变为“libmylibrary.so”,我已将其添加为“mylibrary”
我不能删除这个前缀吗?这可能听起来很奇怪,但请记住,我对编译本机代码或 c 方面的知识为零
“lib” 前缀是 Unix 早期以来的命名约定。当链接器使用带有 -l 标志的共享对象时,需要此前缀,请参阅更多here。当您使用 System.loadLibrary() 时,Java 中也隐含了该前缀。 Android ApkBuilder 和系统安装程序也需要该前缀(请参阅详细信息此处)。
但是如果你真的想将文件命名为“mylibrary.so”,可以创建这样的文件,并使用Java中的System.load(fullpath)加载它。您将自行负责此文件的部署。