gpt4 book ai didi

android - 创建 .a 文件而不是 .so 使用 android studio?

转载 作者:太空宇宙 更新时间:2023-11-04 03:08:56 25 4
gpt4 key购买 nike

如何使用 android studio 从 c 源代码创建 .a 文件而不是 .so

如果可能,那么我也想知道如何加载它们以及使用 .a 文件代替的优缺点。所以

最佳答案

Android 依赖 Java 的 System.loadLibrary()加载 native 代码。此调用使用 dl* family of functions加载动态库(通常与扩展名 .so 相关联)。动态库可以指定其他库作为它的依赖,依次加载。打开该库后,JVM 会探测它是否具有特制名称的函数,这些名称已绑定(bind)到相应的 Java 方法。

相比之下,.a 文件是一个静态库。它只是目标文件 (.o) 的存档,供编译时通过static 链接使用。

回答您的问题:是的,您可以更改您的 CMakeLists.txt 以创建静态库,但最终您必须将它们链接到一个动态 .so 中才能在 Android 中加载它.例如参见 this answer 的底部其中许多预建静态库与单个 .cpp 文件链接在一起以生成动态库。

关于android - 创建 .a 文件而不是 .so 使用 android studio?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58542406/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com