6

Java とネイティブの両方のコンポーネントを持つ Android 用のライブラリを開発しています。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::stringおよびstd::vector) への参照が含まれている場合、クライアントが GNU STL を使用していないと問題に直面しますか?

ありがとう

4

0 に答える 0