android - 如何创建在 Android NDK 上运行的预构建库?
问题描述
我主要是一名 C 开发人员,负责将一些 C 库构建到可以构建到 Android 应用程序中的共享对象文件中。我遇到了这个链接,它讨论了如何将预建库添加到 Android Studio 项目中,但关于如何实际构建预建库的信息很少。我确实找到了信息说我不能只使用 Linux 交叉编译器来这样做,因为 ABI 的细微差别。我该怎么做呢?我需要使用 Android Studio 吗?我的来源需要包含一些特殊的标题吗?或者我可以只使用 NDK 中的交叉编译器并使用 编译gcc -shared -fPIC
吗?
解决方案
使用 NDK 工具链构建您的库就足够了。通常使用 NDK 支持的最低平台 API 级别就可以了。您应该为不同的 CPU 生成二进制文件。如果您愿意,您可以跳过 32 位版本,但 Android Play 商店的规则要求您拥有 64 位版本。您不需要 Android Studio 来执行此任务,也无需更改您的源代码。
如果您的库导出 C++ API,请使用c++_shared运行时。
推荐阅读
- reactjs - 从错误的地方从 react-chartjs-2 导入 Line
- excel - 对象不支持简单 Powerpoint 图表上的此操作错误
- reactjs - 将位置道具传递到页面会生成构建错误 - 链接组件 - Gatsby
- c++ - QtXlsx,行不换行,而是写在一个单元格中
- elasticsearch - Complete Suggester Elastic Search 中的模糊结果得分
- amazon-web-services - 如何在 Amazon S3 上的存储桶中选择大量文件并将其移动到另一个文件夹
- angular8 - JSPDF:使用 Angular 8 和 jspdf 直接将数据打印到打印机设备,无需打印对话框
- azure - 获取集群 ca 证书 Azure ARM 模板 ManagedClusters
- python - 例外:在 AWS Lambda 中部署 Spark 时,Java 网关进程在发送其端口号之前退出
- terraform - 如果满足条件,则将额外元素添加到 terraform 中的列表