我有一個使用gnustl_static
作爲C++運行時的項目,它在Application.mk中全局設置。Android NDK:使用預建共享庫時的C++運行時限制
在這個項目中,我想包含一個來自第三方的預構建共享庫,它實現了一些功能。爲此,我使用PREBUILT_SHARED_LIBRARY
機制的NDK編譯系統提供:
include $(CLEAR_VARS)
LOCAL_MODULE := xyzAPI
LOCAL_SRC_FILES := libxyz-api.so
include $(PREBUILT_SHARED_LIBRARY)
再後來用它在主Android.mk
LOCAL_SHARED_LIBRARIES += xyzAPI
從第三方我知道libxyz-API .so是使用c++_shared
運行時創建的。
問題1:我是否需要關心我的依賴庫是用不同的運行時構建的?如果是的話,這是否意味着我不得不將整個項目移動到c++_shared
?
問題2:由於依賴xyzAPI已經使用c++_shared
運行時構建,我現在必須在事物的Java端(即System.loadLibrary("c++_shared");
)加載c++_shared
嗎?
謝謝。你有沒有針對1)的指針或引用? – rsp1984
你可以看看http://stackoverflow.com/a/8877585/192373提供一些提示 - 注意這個答案是關於Windows和Visual Studio的,因此它不適用於你的情況。 –