6

我正在为 Android 开发一个包含 Java 和 Native 组件的库。Native 库依赖于 GNU STL。我正在链接gnustl_static,但遇到了一些通过链接解决的奇怪问题gnustl_shared。(例如问题Filesystem and locale)。暂时,我已经确定了gnustl_shared

这就是问题所在——我的库的使用者应该链接到 Native .so 以添加他们自己的代码。我从阅读中了解到所有 C 运行时都必须匹配。

  1. 要求我的客户使用gnustl_shared似乎可能行不通(就外交和易于整合而言)
  2. 如果我使用 构建gnustl_shared,生成的 JAR 文件包含libgnustl_shared.so,这会导致构建也依赖于该库的 APK 的问题。-- 我想我不能将它包含在 JAR 文件中?
  3. 如果我反对gnustl_static,我会避免所有这些问题吗?
  4. 如果我的 API 包含对 STL 对象的引用(主要是std::stringstd::vector),如果我的客户不使用 GNU STL,我会遇到问题吗?

谢谢

4

0 回答 0