安卓項(xiàng)目開發(fā)中,項(xiàng)目中使用到j(luò)ni開發(fā),使用C/C++編寫了自己的so庫(kù),調(diào)試和運(yùn)行一切正常,Android.mk文件代碼如下:
LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE:=observerLOCAL_SRC_FILES:=observer.cLOCAL_C_INCLUDES:= $(LOCAL_PATH)/includeLOCAL_LDLIBS += -L$(SYSROOT)/usr/lib -lloginclude $(BUILD_SHARED_LIBRARY)
如果我們需要引入其他第三方so庫(kù)到libs/armeabi中時(shí),在項(xiàng)目編譯運(yùn)行的時(shí)候會(huì)發(fā)現(xiàn),剛剛加入的第三方so庫(kù),被刪除了。
遇到這種情況,只需要按如下方法調(diào)整即可:
1、在jni中新建目錄“prebuilt”(當(dāng)然叫其他名稱也可以)
2、修改Android.mk文件,把我們的第三方so庫(kù)加入進(jìn)去,在我上面Android.mk增加后的內(nèi)容如下:
LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := tpnsSecurityLOCAL_SRC_FILES := prebuilt/libtpnsSecurity.soinclude $(PREBUILT_SHARED_LIBRARY)include $(CLEAR_VARS)LOCAL_MODULE := tpnsWatchdogLOCAL_SRC_FILES := prebuilt/libtpnsWatchdog.soinclude $(PREBUILT_SHARED_LIBRARY)include $(CLEAR_VARS)LOCAL_MODULE:=observerLOCAL_SRC_FILES:=observer.cLOCAL_C_INCLUDES:= $(LOCAL_PATH)/includeLOCAL_LDLIBS += -L$(SYSROOT)/usr/lib -lloginclude $(BUILD_SHARED_LIBRARY)
以上這篇完美解決安卓jni項(xiàng)目會(huì)刪除其他so文件的問題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選