使用gnustl分发NDK库?

我正在为Android开发一个既有Java又有Native组件的库。 Native库依赖于GNU STL。 我正在连接gnustl_static ,但遇到了一些奇怪的问题,这些问题是通过链接gnustl_shared解决的。 (例如, 文件系统和语言环境的问题)。 目前,我已经确定了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,我会遇到问题吗?

谢谢