zoukankan      html  css  js  c++  java
  • Ubuntu+NDK编译openssl(为了Android上使用libcurl且支持HTTPS协议)

    为了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

    http://www.cnblogs.com/guoxiaoqian/p/4199576.html

  • 相关阅读:
    xfire webServeic 例子
    Spring3 url匹配规则
    js 字符串转化成数字
    JS回车事件,兼容目前所有浏览器
    笔记:Zygote和SystemServer进程启动过程
    安卓Task和Back Stack
    札记:Property动画
    札记:翻译-使用Scene和Transition实现【场景切换】动画效果
    算法:排序
    [BOT]自定义ViewPagerStripIndicator
  • 原文地址:https://www.cnblogs.com/findumars/p/7492573.html
Copyright © 2011-2022 走看看