我已经做了很多尝试,让libpcap为安卓编译,我不认为有任何模式或任何进展值得记录。
我有一个非常简单的嗅探器(在MIPS中工作得很好),它使用libpcap,所以我想,哦,好吧…没什么大不了的。我将只为Android编译libpcap (最后,Android只是一个Linux).问题就从这里开始。我不知道如何使用ndk-build和Android.mk以及所有这些基础设施来编译libpcap。
我把Android放在一个目录里。NDK已经构建了工具链(我在~/Documents/Projects/Android_NDK/toolchains/下有很多目录),但是没有一个工具链有libpcap可用。
我试过两种不同的libpcap版本或者..。分支机构:
安卓的,这是我想用的,https://android.googlesource.com/platform/external/libpcap/
而普通的是:http://www.tcpdump.org/release/libpcap-1.5.3.tar.gz
我做过的所有尝试都没有成功。我已经看到了类似的问题Android :使用预编译静态库链接,但我仍然会遇到各种错误。
我已经下载了这些pcap库到它们自己的目录中。也许这就是问题所在?我是否需要将Android放在NDK根目录中的某个目录中,然后重新创建工具链?
我在MacOSX 10.9.2 64位上使用NDK-r9。
发布于 2014-04-05 16:52:19
终于!!
在被不存在的头之类的东西激怒之后,我找到了这个问题,它指向带有编译的libpcap的SVN (http://sourceforge.net/p/prueba-android/code/HEAD/tree/trunk/jni/)!
如果其他人想了解我的Android.mk和目录结构的更多细节,请添加一个注释,我将扩展这个答案。
发布于 2014-03-25 22:27:41
请在http://blog.umitproject.org/2011/05/libpcap-for-android.html阅读一篇优秀的文章。有一些说明可以帮助你链接到libpcap,但最重要的是你不能在非根植的Android上使用libpcap。所以也许这不值得你的努力。
在根设备上,您可以简单地安装一个像鲨鱼换根这样的免费嗅探器。
发布于 2014-09-29 19:24:56
如果其他人在使用NDK编译libpcap时遇到问题,这里有1.5.2版本,其中包含一个内置的Android.mk文件:https://android.googlesource.com/platform/external/libpcap.git和使用NDK编译该文件的说明如下:http://ducbh.blogspot.co.uk/2013/12/cross-compile-libpcap-for-android.html。我可以使用当前的NDK (r10b)...although来确认这一点,您可能需要添加指向Android.mk文件的AndroidManifest.xml (空白)和Application.mk。
我不认为修改当前libpcap版本(1.6.2)的.mk文件是那么困难的。
https://stackoverflow.com/questions/22646344
复制相似问题