Android에 Jnetpcap (JNI가있는 libpcap 용 Java 래퍼)를 이식하려고합니다. libpcap을이 저장소의 소스 코드를 사용하여 정적 라이브러리로 컴파일했습니다. https://github.com/android/platform_external_libpcap 및 libpcap.a를 얻었습니다.Android NDK : Android 용 libpcap을 사용하여 컴파일 오류 - 함수가 "이 범위에서 선언되지 않았습니다"
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 패킷이 제공하는 것)에 있지만, 안드로이드의 버전에는없는 것으로 보입니다. Jnetpcap의 동일한 소스 파일을 Intel x86 및 x64 플랫폼 용으로 문제없이 컴파일 할 수 있습니다.
내가 잘못 했나요? 그 기능은 정말 실종 되었습니까?
여러분 중 누구든이 문제를 해결할 수 있기를 바랍니다. 감사.
도움 주셔서 감사합니다. 나는 Jnetpcap 1.2로 다운 그레이드했고 libpcap 0.9.8에서 작동했다. 몇 가지 테스트를하고 있지만 Android 용 Jnetpcap 1.2의 작동 포트가있는 것으로 보입니다. 앱을 루트로 실행할 수 없지만 구문 분석 기능이 제대로 작동해야하기 때문에 실시간 캡처를 지원하지 않습니다. – Jimix