Создайте Android.mk для сборки библиотеки C

Я разрабатываю приложение, которое должно использовать библиотеку Java (jpcap: http://netresearch.ics.uci.edu/kfujii/Jpcap/doc/download.html). Проблема в том, что библиотека использует JNI для вызова методов, написанных на языке C.

Чтобы правильно вызывать методы Java, мне нужно скомпилировать C-код библиотеки с помощью Android NDK. Чтобы скомпилировать код C, мне нужно написать файл Android.mk, чтобы использовать его со сценарием ndk-build, который предоставляет NDK.

Я никогда раньше не писал 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, или сказал бы мне, где найти руководство, объясняющее это, я был бы очень благодарен.


person Jimix    schedule 18.03.2011    source источник
comment
Джимикс, не могли бы вы скомпилировать библиотеку jpcap с Android NDK ???   -  person Panagiotis    schedule 08.01.2016


Ответы (1)


Попробуйте использовать это:

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)
person Karan    schedule 18.03.2011
comment
При компиляции возникают ошибки: разыменование указателя на неполный тип. - person Jimix; 18.03.2011
comment
Пожалуйста, проверьте это stackoverflow.com/questions/2943828/ для получения дополнительных сведений. - person Karan; 19.03.2011