2014-12-04 51 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

相關問題