2
我有两个Android项目,一个是共享库,一个是我的应用程序的项目。这两个项目都包含一些Java和一些本地代码。当我尝试运行我的APK我收到以下错误:Android库项目与本机代码包库两次在APK
错误产生最终的归档文件:找到重复文件APK:LIB/armeabi/libOEShared.so
我的共享库被标记为库项目(Properties-> Android - >'Is Library'),以便我能够使用它的Java代码。这大概会复制libOEShared.so一次。
为了将我的应用程序本机代码与libOEShared链接起来,我使用了NDK预构建功能。这里是我的Android.mk:
#include shared library
include $(CLEAR_VARS)
LOCAL_MODULE := OEShared
LOCAL_SRC_FILES := ../../../Shared/OEShared/libs/armeabi/libOEShared.so
include $(PREBUILT_SHARED_LIBRARY)
#build App library
include $(CLEAR_VARS)
LOCAL_MODULE := OEApp
LOCAL_SRC_FILES := OEApp.cpp
LOCAL_LDLIBS := -llog -lGLESv2 -lz
LOCAL_SHARED_LIBRARIES := OEShared
include $(BUILD_SHARED_LIBRARY)
不过,NDK还复制libOEShared到我的应用程序项目的lib文件夹中,造成两人份存在于最终的APK。
如何将我的应用程序的本机代码链接到libOEShared而不会自动复制?
谢谢你的时间,这给我造成了很多挫折。
如果这工作给你,然后接受它作为答案。 – AndRSoid
谢谢你这工作。 – DJPJ