zoukankan      html  css  js  c++  java
  • Ubuntu+NDK编译openssl

    为了Android上使用libcurl且支持HTTPS协议,需要依赖openssl,因此先来了解一下如何编译OpenSSL
    1.编译ARM下的共享库(默认的)
    我使用的是guardianproject的openssl,它已经提供好了android的ndk makefile。
    git clone https://github.com/guardianproject/openssl-android.git
    然后直接cd到该目录,$NDK/ndk-build就行。
    注意默认的使用NDKr5b,如果没有该版本,请在jni/Application.mk中修改工具链版本
    这样可编译出ARM下的共享库(libcrypto.so和libssl.so),这两个库已经可以配合libcurl支持HTTPS了。
    2.编译ARM下的静态库
    先修改crypto/Android.mk:
    # target
    include $(CLEAR_VARS)
    include $(LOCAL_PATH)/../android-config.mk
    LOCAL_SRC_FILES += $(local_src_files)
    LOCAL_CFLAGS += $(local_c_flags)
    LOCAL_C_INCLUDES += $(local_c_includes)
    LOCAL_LDLIBS += -lz
    ifeq ($(TARGET_ARCH),arm)
    LOCAL_SRC_FILES += $(arm_src_files)
    LOCAL_CFLAGS += $(arm_cflags)
    else
    LOCAL_SRC_FILES += $(non_arm_src_files)
    endif
    ifeq ($(TARGET_SIMULATOR),true)
    # Make valgrind happy.
    LOCAL_CFLAGS += -DPURIFY
    LOCAL_LDLIBS += -ldl
    endif
    LOCAL_MODULE_TAGS := optional
    LOCAL_MODULE:= libcrypto
    include $(BUILD_STATIC_LIBRARY)
    就是把最后的BUILD_SHARED_LIBRARY改成BUILD_STATIC_LIBRARY;后面其他MODULE都删掉.

    再修改ssl/Android.mk:
    include $(CLEAR_VARS)
    include $(LOCAL_PATH)/../android-config.mk
    LOCAL_SRC_FILES += $(local_src_files)
    LOCAL_C_INCLUDES += $(local_c_includes)
    LOCAL_STATIC_LIBRARIES += libcrypto
    LOCAL_MODULE_TAGS := optional
    LOCAL_MODULE:= libssl
    include $(BUILD_STATIC_LIBRARY)
    就是把SHARED都缓存STATIC,后面的其他MODULE也都删掉

    3.编译X86版本的静态库
    修改jni/Application.mk:
    NDK_TOOLCHAIN_VERSION=4.6
    APP_PROJECT_PATH := $(shell pwd)
    APP_ABI := x86
    TARGET_ARCH := x86
    APP_BUILD_SCRIPT := $(APP_PROJECT_PATH)/Android.mk
    就是加上ABI和ARCH限制,然后该一下工具连VERSION,因为默认NDKr5b好像不支持x86,所以要换一个高版本的NDK

  • 相关阅读:
    昆石VOS3000_2.1.4.0完整安装包及安装脚本
    KVPhone,VOS官方的SIP软电话电脑客户端
    昆石VOS2009 VOS3000无漏洞去后门电脑管理客户端大全
    2017年最新(4月20日)手机号码归属地数据库分享
    2017年最新VOS2009/VOS3000最新手机号段导入文件(手机归属地数据)
    Android:onNewIntent()
    三星S4使用体验(Markdown版)
    apple公司的潮起潮落——浪潮之巅
    microsoft的罗马帝国——浪潮之巅
    我的iOS开发之路
  • 原文地址:https://www.cnblogs.com/guoxiaoqian/p/4199576.html
Copyright © 2011-2022 走看看