使用libevent实现最简单的android http-server

其实就是把libevent sample 下的http-server.c 在android emulator 上跑起来
环境:
libevent: libevent-2.0.12-stable
sdk     :  android-sdk-linux_86  支持到2.01
ndk     :  android-ndk-r4b-linux-x86
 
1. 交叉编译
  * 将libevent-2.0.12-stable 解压到home下libevent 目录 
  * 执行: ./configure --prefix=/home/liu/android-ndk-r4b/samples/libevent_install --host=arm-linux CC=~/tools/arm-2007q3/bin/arm-none-linux-gnueabi-gcc CXX=~/tools/arm-2007q3/bin/arm-none-linux-gnueabi-g++
        make
        make install
    所有都安装到--prefix 所指定的目录中
  
  * libevent 的maillist 上有直接用ndk toolchain 交叉编译成功的例子,
    改成:
     ./configure --prefix=/home/liu/android-ndk-r4b/samples/libevent_install -host=arm-eabi CC=arm-linux-androideabi-gcc CPPFLAGS="-I$NDK_ROOT/platforms/android-8/arch-arm/usr/include/" CFLAGS="-nostdlib" LDFLAGS="-Wl,-rpath-link=$NDK_ROOT/platforms/android-8/arch-arm/usr/lib/ -L$NDK_ROOT/platforms/android-9/arch-arm/usr/lib/" LIBS="-lc"   
    听说也可以build成功libevent.so, 但是没弄成功
  
  不过还好文件不多,还是按照ndk 下写andorid make file
 
2. NDK下编译
  * 把libevent-2.0.12-stable 解压到home 目录下的libevent-ndk 目录下的jni 目录
  * 把前面交叉编译 生成的libevent/include/event2/event-config.h copy 
     到libevent-ndk/jin/include/event2/ 下
  * 修改  event-config.h  如下:
  1. /* #undef _EVENT_HAVE_ARC4RANDOM */
  2.     这句下面加上:
  3.     #define _EVENT_HAVE_ARC4RANDOM 
  4.     
  5.     //#define _EVENT_HAVE_FD_MASK 1 这句用//注掉
    
  * 写android mk file 
   ./configure 生成的makefile不是人写的,是机器生成的 
   所以参考makefile.am ,具体jni目录下Android.mk 如下:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值