【发布时间】:2013-08-16 09:03:54
【问题描述】:
我的 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 并避免此错误?非常感谢任何帮助甚至线索。
【问题讨论】:
-
我们能否从应用程序中的 .mk 文件和链接到 .so 的库中看到相关部分?
-
基本上它们不过是:APP_PLATFORM := android-9 和 APP_STL := gnustl_shared。依赖是通过eclipse完成的。使用 eclipse 建立依赖关系在开发阶段更容易让它每次都建立依赖关系。
标签: android c++ c build android-ndk