2011-03-18 21 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