我正在尝试将 Jnetpcap(带有 JNI 的 libpcap 的 java 包装器)移植到 Android。我已经设法使用此存储库中的源代码将 libpcap 编译为静态库:https ://github.com/android/platform_external_libpcap并且我获得了 libpcap.a
当尝试将 Jnetpcap 编译为共享库(并与 libpcap.a 链接)时,我遇到了错误,因为某些 libpcap 的函数“未在此范围内声明”。这些函数是:pcap_create()、pcap_activate()、pcap_can_set_rfmon()、pcap_set_buffer_size()、pcap_set_promisc()、pcap_set_snaplen() 和 pcap_set_timeout()。
这些函数存在于 libpcap 的原始版本(包 libpcap-dev 提供的那个)中,但似乎 android 的版本没有它们。Jnetpcap 的相同源文件可以毫无问题地编译用于 intel x86 和 x64 平台。
难道我做错了什么?这些功能真的缺失了吗?
我希望你们中的任何人都知道如何解决这个问题。谢谢。