簡體   English   中英

無法使用Android-NDK編譯外部預編譯的共享庫

[英]Not able to compile external precompiled shared library with Android-NDK

我有兩個共享庫: A.soB.so ,並希望他們與我聯系Android Project

  1. 從Eclipse創建一個新的Android項目
  2. 右鍵單擊項目-> Android工具->添加本機支持
  3. 它創建了一個新文件夾: JNIJNI/projectname.cppJNI/Android.mk
  4. 現在我添加A.soB.so<Project-folder>/libs/armeabi

當我構建項目時,我在控制台中得到以下輸出:

**** Build of configuration Default for project fona ****

/home/users/android-ndk/ndk-build all 
Android NDK: WARNING: APP_PLATFORM android-19 is larger than android:minSdkVersion 8 in ./AndroidManifest.xml    
[armeabi] Install        : projectname.so => libs/armeabi/libprojectname.so

 *** Build Finished ****

我擔心的是,它沒有建立A.soB.soProject.so 可能是我在Android.mk文件中缺少了一些東西

Android.mk文件的內容:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE    := projectname
LOCAL_SRC_FILES := projectname.cpp
include $(BUILD_SHARED_LIBRARY)

您不能只放置預構建的庫。 您還需要將其定義為單獨的模塊。 將您的A.so和B.so移至jni文件夾,並按如下所示修改您的Android.mk:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)
LOCAL_MODULE    := A
LOCAL_SRC_FILES := A.so
include $(PREBUILT_SHARED_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE    := B
LOCAL_SRC_FILES := B.so
include $(PREBUILT_SHARED_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE    := projectname
LOCAL_SRC_FILES := projectname.cpp
include $(BUILD_SHARED_LIBRARY)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM