android JNI 呼叫第三方動態庫
阿新 • • 發佈:2019-02-18
http://lipeng88213.iteye.com/blog/1292543
動態庫和靜態庫 我覺得兩種不同
1、動態庫是.so檔案,靜態庫是.a檔案
2、動態庫的話 你需要第三方庫和你自己的so庫,靜態庫 只需要你自己的就行,已經包含到你的so庫裡面去了
我不是學c的 所以 可能說的不對 大家見諒
我在開發過程中發現 動態庫的呼叫有兩種方法
libaaa.so是我的第三方so庫,libtest是我生成的so庫
1、lib下面生成一個so
Java程式碼
這個會在lib下面生成一個so 就是你自己的so 但是 你用的時候 也需要把第三方so庫放到你的工程裡面
2、lib下面生成兩個so
Java程式碼
這個會在你的lib下面生成兩個so庫 一個是第三方so庫,一個是你自己的
動態庫和靜態庫 我覺得兩種不同
1、動態庫是.so檔案,靜態庫是.a檔案
2、動態庫的話 你需要第三方庫和你自己的so庫,靜態庫 只需要你自己的就行,已經包含到你的so庫裡面去了
我不是學c的 所以 可能說的不對 大家見諒
我在開發過程中發現 動態庫的呼叫有兩種方法
libaaa.so是我的第三方so庫,libtest是我生成的so庫
1、lib下面生成一個so
Java程式碼
- #
- LOCAL_PATH := $(call my-dir)
- #
- LOCAL_MODULE := libtest
-
LOCAL_SRC_FILES := com_lp_jni_Test.c
- LOCAL_LDLIBS += -L$(SYSROOT)/usr/lib -llog
- LOCAL_LDLIBS += -L$(LOCAL_PATH)
- LOCAL_LDLIBS += -laaa
- include $(BUILD_SHARED_LIBRARY)
這個會在lib下面生成一個so 就是你自己的so 但是 你用的時候 也需要把第三方so庫放到你的工程裡面
2、lib下面生成兩個so
Java程式碼
- #
- LOCAL_PATH := $(call my-dir)
- #
- include $(CLEAR_VARS)
-
LOCAL_MODULE := libmmm
- LOCAL_SRC_FILES := libaaa.so
- include $(PREBUILT_SHARED_LIBRARY)
- include $(CLEAR_VARS)
- LOCAL_MODULE := libtest
- LOCAL_SRC_FILES := com_lp_jni_JMedia.c
- LOCAL_LDLIBS += -L$(SYSROOT)/usr/lib -llog
- LOCAL_SHARED_LIBRARIES := libmmm
- include $(BUILD_SHARED_LIBRARY)
這個會在你的lib下面生成兩個so庫 一個是第三方so庫,一個是你自己的