Java とネイティブの両方のコンポーネントを持つ Android 用のライブラリを開発しています。Native ライブラリは GNU STL に依存しています。に対してリンクしgnustl_static
ていましたが、いくつかの奇妙な問題に遭遇し、リンクすることで解決されましたgnustl_shared
。(たとえば、質問Filesystem and locale )。とりあえず、 に落ち着きましたgnustl_shared
。
問題はここにあります。私のライブラリの消費者は、Native .so にリンクして独自のコードを追加することが期待されています。すべての C ランタイムが一致する必要があることを読んで理解しました。
- 私のクライアントに使用を要求する
gnustl_shared
ことはうまくいかないようです (外交と統合の容易さに関する限り) - を使用してビルドすると
gnustl_shared
、生成された JAR ファイルに が含まlibgnustl_shared.so
れるため、このライブラリにも依存する APK のビルドで問題が発生します。-- JAR ファイルに含めることはできないのでしょうか。 - 反対に構築した場合
gnustl_static
、これらの問題をすべて回避できますか? - API に STL オブジェクト (主に
std::string
およびstd::vector
) への参照が含まれている場合、クライアントが GNU STL を使用していないと問題に直面しますか?
ありがとう