我正在开发一个需要使用Java库的应用程序(jpcap:http://netresearch.ics.uci.edu/kfujii/Jpcap/doc/download.html)。问题是库使用JNI来调用用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_udp.c
包括以下图书馆:
jni.h pcap.h
使用-lpcap选项进行链接。
如果你们中的任何一个人能告诉我在Android.mk文件中必须写哪些行,或者告诉我在哪里找到解释这一点的手册,我将非常感谢。
答案 0 :(得分: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)