2011-03-18 23 views
0

我正在開發需要使用Java庫(jpcap:http://netresearch.ics.uci.edu/kfujii/Jpcap/doc/download.html)的應用程序。問題是庫使用JNI調用用C代碼編寫的方法。創建Android.mk來構建C庫

爲了正確調用Java方法,我必須使用Android NDK編譯庫的C代碼。爲了編譯C代碼,我必須編寫一個Android.mk文件,用它提供NDK的ndk-build腳本。

我從來沒有一個Android.mk之前寫的,我不知道怎麼寫的文件,以滿足我的需要即下一個:

編譯下面的源文件:

JpcapCaptor.c JpcapSender.c JpcapWriter.c packet_arp.c packet_datalink.c packet_icmp.c packet_ip.c packet_ipv6.c packet_tcp.c packet_ud P.C

包括以下庫:

jni.h pcap.h使用-lpcap選項

鏈接。

如果你們中的任何一個人可以告訴我我必須在Android.mk文件中寫入哪些行,或者告訴我在哪裏可以找到解釋這一點的手冊,我會非常感謝。

+0

Jimix,你能編譯JPCAP庫的Android NDK ??? – 2016-01-08 00:10:30

回答

0

嘗試使用這樣的:

LOCAL_PATH:= $(call my-dir) 
include $(CLEAR_VARS) 

LOCAL_SRC_FILES := $$Add source files$$ 

LOCAL_LDLIBS := -lpcap 

LOCAL_MODULE := libtest 

LOCAL_C_INCLUDES := $$Path of the header files used$$ 

include $(BUILD_SHARED_LIBRARY) 
+0

編譯時出現錯誤:「解除指向不完整類型的指針」。 – Jimix 2011-03-18 19:34:53

+0

請查看http://stackoverflow.com/questions/2943828/how-to-compile-a-static-library-using-the-android-ndk瞭解更多詳情。 – Karan 2011-03-19 03:34:52