创建Android.mk以构建C库

时间:2011-03-18 17:22:48

标签: android build java-native-interface android-ndk

我正在开发一个需要使用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文件中必须写哪些行,或者告诉我在哪里找到解释这一点的手册,我将非常感谢。

1 个答案:

答案 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)