2011.12.05(3)———android JNI学習の2呼び出しサードパーティ動的ライブラリ

1369 ワード

2011.12.05(3)———android JNI学習の2呼び出しサードパーティ動的ライブラリ
ダイナミックライブラリと静的ライブラリは2つ違うと思います
1、ダイナミックライブラリは.soファイル、静的ライブラリは.aファイル
2、ダイナミックライブラリはサードパーティライブラリと自分のsoライブラリが必要です.静的ライブラリは自分のものだけでいいです.あなたのsoライブラリに含まれています.
私はcを勉強していないので、皆さんに申し訳ありません.
開発中にダイナミックライブラリの呼び出しには2つの方法があることを発見しました.
libaaa.soは私のサードパーティのsoライブラリで、libtestは私が生成したsoライブラリです.
1、libの下にsoを生成する
#


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以下に2つのsoを生成する
#


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の下で2つのsoライブラリを生成します.1つはサードパーティのsoライブラリで、1つはあなた自身です.