Android NDK编译librtmp 三重奏 -- (二)编译polarssl

来源:互联网 发布:什么叫网络销售 编辑:程序博客网 时间:2024/05/16 09:43

解析来我们编译polarssl,

(一)先下载吧 https://tls.mbed.org/download/start/mbedtls-2.1.8-gpl.tgz

(二)老规矩,新建一个android studio 工程支持c++,删除默认的cpp/native-lib.cpp和app/cmakelists.txt文件

(三)解压polarssl文件,复制include/polarssl 头文件和library里面的源文件到cpp文件夹下,然后工程如图所示



(四) 修改cpp/CmakeLists.txt文件内容,注释掉

#install(TARGETS polarssl#DESTINATION ${LIB_INSTALL_DIR}#PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)

(五)修改build.gradle文件



(6)修改 cpp/polarssl/config.h文件

#define POLARSSL_HAVEGE_C的注释去掉,否则编译librtmp的时候会出现 undefined reference tohavege_random’`错误,这里是因为polarssl默认关闭了havege模块。


(7)可以愉快地build 了吗?


郁闷armeabi架构的动态库没生成,(这是因为i386下编译arm代码不行,有bug,可惜对c++不熟,不深究了)不过没关系,我们的目标是重新编译librtmp,这里我们到时直接从armeabi-v7a下的libpolarssl.so到armeabi就行了,愉快的进行下一步了。

代码:https://github.com/lww8899/libpolarssl.git