【问题标题】:Android ndk remove "lib" prefixAndroid ndk 移除“lib”前缀
【发布时间】:2014-01-18 21:13:46
【问题描述】:

我正在将一些本机代码编译到库中以在我的应用程序中使用。一切正常,但有些东西困扰着我。

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

我不能删除这个前缀吗?这听起来可能很奇怪,但请记住,我对编译本机代码或 c 的知识为零

【问题讨论】:

    标签: compiler-construction android-ndk native


    【解决方案1】:

    "lib" 前缀是早期 Unix 中的命名约定。当带有 -l 标志的链接器使用共享对象时,需要此前缀,请参阅更多 here。当您使用System.loadLibrary() 时,Java 中也隐含了前缀。 Android ApkBuilder 和系统安装程序也需要该前缀(详见here)。

    但如果您真的想将文件命名为 "mylibrary.so",则可以创建这样的文件,并使用 System.load(fullpath) 在 Java 中加载它。您将自己处理此文件的部署。

    【讨论】:

      猜你喜欢
      • 2014-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多