1

Android NDK プロジェクトに問題があります。

私のプロジェクトは、ライブラリとアプリケーションの 2 つのプロジェクトで構成されています。

gnustl_shared を使用して、結果の .apk ファイルに gnustl_shared.so を含めたいと考えています。

したがって、両方の Application.mk ファイルに APP_STL := gnustl_shared があります。

問題は、そうすると次のエラーが表示されることです。

Error generating final archive: Found duplicate file for APK: lib/armeabi/libgnustl_shared.so
Origin 1: /Volumes/STUFF/repos/trunk/android/MainActivity/libs/armeabi/libgnustl_shared.so
Origin 2: /Volumes/STUFF/repos/trunk/android/MyLib/libs/armeabi/libgnustl_shared.so

1 つのプロジェクトに APP_STL := gnustl_shared を使用すると、それはビルドされますが、静的ライブラリに対してリンクされます (実際にはそうあるべきです)。

ライブラリとアプリケーションの両方で gnustl_shared をリンクし、このエラーを回避する方法を知っている人はいますか? どんな助けや手がかりでも大歓迎です。

4

1 に答える 1

1

問題が解決しました。

  1. ライブラリ プロジェクトを選択
  2. プロジェクト -> プロパティ -> Java ビルド パスに移動します。
  3. 「注文とエクスポート」タブを選択
  4. 「Android Private Libraries」と「Android Dependencies」のチェックを外します

とにかく、それらはアプリケーション構成で最終的な .apk に追加されます。

于 2013-08-14T20:48:32.710 に答える