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

如果我只为一个项目使用 APP_STL := gnustl_shared 它构建,但链接到静态库(实际上应该如此)。

有谁知道如何在库和应用程序中链接 gnustl_shared 并避免此错误?非常感谢任何帮助甚至线索。

4

1 回答 1

1

问题解决了。

  1. 选择库项目
  2. 导航到:项目->属性->Java构建路径
  3. 选择“订购和导出”选项卡
  4. 取消选中“Android 私有库”和“Android 依赖项”

无论如何,它们都会与应用程序配置一起添加到最终的 .apk 中。

于 2013-08-14T20:48:32.710 回答