libevent 的 Android 编译过程

下载地址:

https://github.com/ventureresearch/libevent

 

已经修改好的版本:

https://download.csdn.net/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 静态库。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章