打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
【转】 gloox移植到android平台

gloox移植到android平台

最近需要在android平台是使用gloox,官方gloox没有没有对应的Android.mk文件,那当然也可以用android ndk来编译,但是我觉得用ndk编译有点麻烦,就写一个Android.mk来使用mm编译。

首先,进入src目录,configure该项目:

1
./configure --host=arm-linux CC=arm-none-eabi-gcc

然后,打开Makefile.in,并拷贝出libgloox_la_SOURCES所有的内容,并保存在Makefile.inc文件中

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
libgloox_la_SOURCES = ip.cpp jid.cpp parser.cpp connectiontcpclient.cpp clientbase.cpp tag.cpp stanza.cpp logsink.cpp \
                        dns.cpp prep.cpp base64.cpp client.cpp component.cpp \
                        disco.cpp adhoc.cpp privatexml.cpp registration.cpp \
                        nonsaslauth.cpp rosteritem.cpp rostermanager.cpp privacyitem.cpp \
                        bookmarkstorage.cpp annotations.cpp privacymanager.cpp lastactivity.cpp \
                        flexoff.cpp dataform.cpp dataformfield.cpp dataformfieldcontainer.cpp \
                        messagesession.cpp messageeventfilter.cpp chatstatefilter.cpp gloox.cpp \
                        inbandbytestream.cpp messagefilter.cpp vcard.cpp \
                        vcardmanager.cpp md5.cpp sha.cpp search.cpp dataformreported.cpp dataformitem.cpp \
                        mucroom.cpp mucmessagesession.cpp oob.cpp vcardupdate.cpp stanzaextensionfactory.cpp \
                        delayeddelivery.cpp gpgencrypted.cpp gpgsigned.cpp \
                        uniquemucroom.cpp instantmucroom.cpp compressionzlib.cpp tlsgnutlsclient.cpp \
                        connectionhttpproxy.cpp tlsgnutlsserveranon.cpp tlsgnutlsbase.cpp \
                        tlsgnutlsclientanon.cpp tlsschannel.cpp tlsdefault.cpp simanager.cpp siprofileft.cpp \
                        mutex.cpp connectionsocks5proxy.cpp socks5bytestreammanager.cpp socks5bytestream.cpp \
                        connectiontcpbase.cpp connectiontcpserver.cpp socks5bytestreamserver.cpp amp.cpp \
                        pubsubitem.cpp pubsubmanager.cpp \
                        error.cpp util.cpp iq.cpp message.cpp presence.cpp \
                        subscription.cpp capabilities.cpp chatstate.cpp connectionbosh.cpp connectiontls.cpp \
                        messageevent.cpp receipt.cpp nickname.cpp eventdispatcher.cpp \
                        pubsubevent.cpp xhtmlim.cpp featureneg.cpp \
                        shim.cpp softwareversion.cpp attention.cpp \
                        tlsopensslclient.cpp tlsopensslbase.cpp \
                        tlsopensslserver.cpp compressiondefault.cpp \
                        connectiontlsserver.cpp

接着,编写Android.mk文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
include $(LOCAL_PATH)/Makefile.inc
local_src_files := $(addprefix ./,$(libgloox_la_SOURCES))
#LOCAL_C_INCLUDES += $(LOCAL_PATH)/include/ $(LOCAL_PATH)/../zlib
local_c_includes := \
    $(LOCAL_PATH)/.. \
    external/stlport/stlport \
    external/zlib \
    external/openssl/include \
    bionic
#######################################
# target shared library
#######################################
# target lib
LOCAL_SRC_FILES  := $(local_src_files)
LOCAL_C_INCLUDES += $(local_c_includes)
LOCAL_SHARED_LIBRARIES := libz libssl libcrypto libstlport
LOCAL_PRELINK_MODULE := false
LOCAL_MODULE:= libgloox
LOCAL_MODULE_TAGS := optional
include $(BUILD_SHARED_LIBRARY)
#######################################
# target static library
#######################################
#static library
include $(CLEAR_VARS)
LOCAL_SRC_FILES  := $(local_src_files)
LOCAL_C_INCLUDES += $(local_c_includes)
LOCAL_LDLIBS := -lz -lssl -crypto
LOCAL_MODULE    := libgloox
include $(BUILD_STATIC_LIBRARY)

最后,执行mm并得到libgloox.so和libgloox.a.

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
在Android的NDK中使用jsoncpp
04第一章Android
Cocos2dx如何引用第三方SO文件(Android NDK)
Android 打包so动态库文件到APK
android编译系统的makefile文件Android.mk写法
Android .mk文件语法规范及使用模板
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服