libevent 的 Android 编译过程

博客提供了libevent的下载地址及已修改版本的下载链接。详细介绍了在Android上修改和编译libevent的重要过程,包括在Android.mk中去掉特定文件,处理Android下缺少的函数,最后运行NDK进行编译以生成libevent的Android静态库。

下载地址:

https://github.com/ventureresearch/libevent

 

已经修改好的版本:

https://download.youkuaiyun.com/download/phil_gu/11195444

 

重要过程:

1. Android.mk  去掉 文件:  epoll_sub.c   bufferevent_openssl.c  (不需要SSL)

2. 由于在android上连接的原因

    将 Android/event2/event-config.h

 

/* Define to 1 if you have the `issetugid' function. */
//#define _EVENT_HAVE_ISSETUGID 1

Android 下面没有   issetugid 函数

 

evutil_rand.c

在 evutil_secure_rng_add_bytes  之前 加上 #ifdef HAVE_ARC4RANDOM_ADDRANDOM

#ifdef HAVE_ARC4RANDOM_ADDRANDOM 
void
evutil_secure_rng_add_bytes(const char *buf, size_t n)
{
    arc4random_addrandom((unsigned char*)buf,
        n>(size_t)INT_MAX ? INT_MAX : (int)n);
}
#endif

 

3. 运行 NDK 进行编译:

ndk-build.cmd NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=Android.mk

会生成 libevent 的 Android 静态库。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值