[英]Not able to compile external precompiled shared library with Android-NDK
我有兩個共享庫: A.so
和B.so
,並希望他們與我聯系Android Project
。
JNI
, JNI/projectname.cpp
和JNI/Android.mk
A.so
和B.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.so
和B.so
與Project.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.