2014-12-04 94 views
0

我正在运行基于两个库项目,其中有libs/armeabi folders与相应的.so文件的项目。但是当我运行这个项目时,它会编译一个.so文件和其他的.so文件不是正确的。所以我得到UnsatifiedLinkError。如何从不同的项目库中包含.so文件?

这是项目结构:

  1. LibProjectA

    +库/ armeabi/a.so

  2. LibLibProjectB

    +库/ armeabi/b.so

  3. MainProject

    • 它加载a.so文件成功
    • 但failes加载b.so文件

它做的作品时,我复制a.so文件LibLibProjectB/libs/armeabi/a.so

能否请你帮助的人我在这个问题上?

由于提前

回答

0

在你的Android.mk,您可以添加这些行每个库要添加:

include $(CLEAR_VARS) 
LOCAL_MODULE := a_prebuilt 
LOCAL_SRC_FILES := 3rdparty/$(TARGET_ARCH_ABI)/a.so 
include $(PREBUILT_SHARED_LIBRARY) 

,然后到你的最后一个模块,添加如下内容:

LOCAL_SHARED_LIBRARIES := a_prebuilt b_prebuilt 

希望它能帮助你!

+0

谢谢,你有什么想法在gradle中实现这个吗? – 2014-12-09 09:50:23

+0

您可以在Google上进行简单搜索来完成此操作。按照这个[链接](http://stackoverflow.com/questions/20674650/how-to-configure-ndk-with-android-gradle-plugin-0-7)。 – Alto 2014-12-09 09:58:13

相关问题