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 靜態庫。

 

 

 

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