I'm trying to port Jnetpcap to Android in order to use it for parsing .pcap files. Jnetpcap is a java wrapper for libpcap which uses JNI. I have compiled libpcap as a static library using the android's source code tree.
When compiling Jnetpcap as a shared library I'm getting errors because I have to link with libpcap.a but I don't know how could I tell Android.mk that he must link with the libpcap.a file that I have.
Using "LOCAL_STATIC_LIBRARIES:= libpcap" won't work because libpcap doesn't come by default in the android NDK.
If any of you guys could help me I would be very thankful.
Here is my current Android.mk file:
include /home/sergio/workspace/MyApp/jni/libpcap/Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := jnetpcap
LOCAL_SRC_FILES :=
jnetpcap.cpp
packet_flow.cpp
packet_jheader.cpp
jnetpcap_pcap_header.cpp
nio_jbuffer.cpp
winpcap_stat_ex.cpp
winpcap_send_queue.cpp
winpcap_ext.cpp
jnetpcap_ids.cpp
jnetpcap_dumper.cpp
jnetpcap_utils.cpp
util_in_cksum.cpp
jnetpcap_beta.cpp
nio_jmemory.cpp
packet_jsmall_scanner.cpp
packet_protocol.cpp
nio_jnumber.cpp
packet_jheader_scanner.cpp
library.cpp
packet_jscan.cpp
jnetpcap_pcap100.cpp
util_checksum.cpp
packet_jpacket.cpp
winpcap_ids.cpp
jnetpcap_bpf.cpp
LOCAL_C_INCLUDES := /home/sergio/android-ndk-r5b/platforms/android-8/arch-arm/usr/include /home/sergio/workspace/Shark/jni/libpcap
LOCAL_STATIC_LIBRARIES := libpcap
include $(BUILD_SHARED_LIBRARY)
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…