下載地址:
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 靜態庫。