通过Ubuntu16.04编译Android下的osip动态库

通过Ubuntu16.04编译Android下的osip动态库

1、下载osip

地址: http://ftp.gnu.org/gnu/osip/

2、编译osip

1.解压压缩文件

tar -zxvf libosip2-4.1.0.tar.gz

2.在文件夹libosip2-4.1.0下新建文件夹jni,将目录下的include及src拷贝到jni文件夹中。
3.在jni文件夹下添加Android.mk及Application.mk文件,内容如下

Android.mk

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

LOCAL_SRC_FILES:= \
		src/osipparser2/osip_accept.c \
		src/osipparser2/osip_proxy_authenticate.c \
		src/osipparser2/osip_parser_cfg.c \
		src/osipparser2/osip_mime_version.c \
		src/osipparser2/osip_uri.c \
		src/osipparser2/osip_call_id.c \
		src/osipparser2/osip_contact.c \
		src/osipparser2/osip_header.c \
		src/osipparser2/osip_list.c \
		src/osipparser2/osip_authentication_info.c \
		src/osipparser2/osip_cseq.c \
		src/osipparser2/osip_message.c \
		src/osipparser2/osip_record_route.c \
		src/osipparser2/osip_authorization.c \
		src/osipparser2/sdp_accessor.c \
		src/osipparser2/osip_accept_language.c \
		src/osipparser2/osip_via.c \
		src/osipparser2/osip_allow.c \
		src/osipparser2/osip_call_info.c \
		src/osipparser2/osip_proxy_authentication_info.c \
		src/osipparser2/osip_proxy_authorization.c \
		src/osipparser2/sdp_message.c \
		src/osipparser2/osip_accept_encoding.c \
		src/osipparser2/osip_content_encoding.c \
		src/osipparser2/osip_to.c \
		src/osipparser2/osip_content_disposition.c \
		src/osipparser2/osip_message_to_str.c \
		src/osipparser2/osip_www_authenticate.c \
		src/osipparser2/osip_error_info.c \
		src/osipparser2/osip_body.c \
		src/osipparser2/osip_content_length.c \
		src/osipparser2/osip_from.c \
		src/osipparser2/osip_alert_info.c \
		src/osipparser2/osip_message_parse.c \
		src/osipparser2/osip_content_type.c \
		src/osipparser2/osip_port.c \
		src/osipparser2/osip_md5c.c \
		src/osipparser2/osip_route.c \
		src/osip2/osip_transaction.c \
		src/osip2/osip_dialog.c \
		src/osip2/osip_event.c \
		src/osip2/nict_fsm.c \
		src/osip2/port_thread.c \
		src/osip2/nict.c \
		src/osip2/nist.c \
		src/osip2/port_sema.c \
		src/osip2/ict_fsm.c \
		src/osip2/ict.c \
		src/osip2/port_fifo.c \
		src/osip2/ist_fsm.c \
		src/osip2/ist.c \
		src/osip2/osip_time.c \
		src/osip2/port_condv.c \
		src/osip2/fsm_misc.c \
		src/osip2/osip.c \
		src/osip2/nist_fsm.c

LOCAL_CFLAGS += -DHAVE_FCNTL_H \
				-DHAVE_SYS_TIME_H \
				-DHAVE_STRUCT_TIMEVAL \
				-DHAVE_SYS_SELECT_H \
				-DHAVE_PTHREAD \
				-DHAVE_SEMAPHORE_H \
				-DENABLE_TRACE \
				-DOSIP_MT

LOCAL_C_INCLUDES:= $(LOCAL_PATH)/include $(LOCAL_PATH)/src 
LOCAL_EXPORT_C_INCLUDES:=$(LOCAL_C_INCLUDES)

LOCAL_PRELINK_MODULE := false
#LOCAL_LDLIBS += -lpthread -ldl
LOCAL_LDLIBS    := -lm -llog 

LOCAL_MODULE:= libosip

include $(BUILD_SHARED_LIBRARY)

Application.mk

APP_PROJECT_PATH := $(call my-dir)/../

APP_STL:=stlport_shared   # 根据自己的需要修改

APP_ABI := armeabi-v7a
APP_PLATFORM := android-21

4.开始编译
在jni目录下执行ndk-build命令,比如我的如下:

/home/stone/ndk/android-ndk-r14b/ndk-build

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值