我正在尝试将Jnetpcap移植到Android上,以便用于解析.pcap文件。 Jnetpcap是libpcap的Java封装器,使用JNI。我已经使用Android源代码树编译了libpcap作为静态库。
在编译共享库时,由于必须链接libpcap.a,因此我遇到了错误,但我不知道如何告诉Android.mk它必须链接我拥有的libpcap.a文件。
使用“LOCAL_STATIC_LIBRARIES:= libpcap”无法正常工作,因为libpcap不包含在Android NDK中。
如果您能帮助我,我将不胜感激。
这是我当前的Android.mk文件:
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)