我建立了一個C++與在Eclipse NDK助洗劑(firestly創建與沒有MainActivity一個JNI項目),其作爲輸出提供,我在應用程序所指定的不同的平臺共享庫。 mk文件。輸出在/ obj/local /目錄中,分佈在平臺子目錄(armabi,mips,...,即我在上面的文件中指定的所有平臺)上。 現在,我想使用Android原生的項目,在我的共享庫被稱爲項目的機庫裏面這裏面共享庫(因此它是關於「天然調用本機」)。 如果我只爲一種類型的平臺(比如說「armeabi」)構建共享庫和Android本地應用程序,則一切正常。 我的問題是如何創建Android本機項目的make文件,Android.mk和Application.mk,以便爲所有平臺構建。 我想關鍵是在Android.mk文件,該文件,只是一個平臺,構建它看起來像這樣(在Linux上,爲的.so類型,信息C++ 11):構建NDK根據配備共享庫在多個平臺上
LOCAL_PATH := $(call my-dir)
# Define the shared library module used by the calling JNI C++ module
include $(CLEAR_VARS)
LOCAL_SRC_FILES := libs/libCreateSharedWithJni.so
LOCAL_MODULE := CreateSharedWithJni
LOCAL_EXPORT_C_INCLUDES := libs/CreateSharedWithJni.h
include $(PREBUILT_SHARED_LIBRARY)
# Define the calling JNI C++ module
include $(CLEAR_VARS)
LOCAL_C_INCLUDES := $(LOCAL_PATH)
LOCAL_MODULE := finalmodule
LOCAL_SRC_FILES := CppJniCallShared.cpp
LOCAL_SHARED_LIBRARIES := libCreateSharedWithJni
include $(BUILD_SHARED_LIBRARY)
謝謝!
您是否嘗試過在你的Application.mk指定 「APP_ABI =所有」? – marktani
是,得到了「讓錯誤1」與第一平臺的嘗試(arm64-V8A)。對於上述make文件的配置只有一個共享庫被接受,它應該是在同一個平臺上,我說。 –