MACOS下OPENSSL与LIBCURL的Android编译

坑很多:

一、Android

     下载android-ndk-r15c(18以下编译不过,报clang: error: unknown argument: '-mandroid')

 

二、OPENSSL

1、下载Setenv-android.sh,这是OPENSSL环境脚本。

2、编辑脚本设置以下:

    ANDROID_NDK_ROOT="android-ndk-r15c"

    _ANDROID_EABI="arm-linux-androideabi-4.9"

    _ANDROID_ARCH=arch-arm

   尾添加:

  cd openssl-OpenSSL_1_0_2l

  make clean
 ./Configure no-shared android-armv7 no-ssl2 no-ssl3 no-comp no-hw no-engine --prefix=/Users/xxx/libs/android-build/out
 make depend
 make all
 make install

三、LIBCURL

编写新脚本:

ANDROID_NDK_ROOT="/Users/xxx/apps/android-ndk-r15c"
NDK=/Users/xxx/apps/android-ndk-r15c
SYSROOT=$NDK/platforms/android-23/arch-arm
export CC="/Users/xxx/apps/android-ndk-r15c/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-gcc --sysroot=$SYSROOT"

source 脚本

./configure --host=arm-androideabi-linux --disable-shared --with-ssl=/Users/xxx/libs/android-build/out --prefix=/Users/xxx/libs/android-build/out

make时:

../../../../arm-linux-androideabi/bin/ld: error: ../lib/.libs/libcurl.a: no archive symbol table (run ranlib)

从新脚本:

ANDROID_NDK_ROOT="/Users/xxx/apps/android-ndk-r15c"
export PATH=/Users/xxx/apps/android-ndk-r15c/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin:$PATH
NDK=/Users/xxx/apps/android-ndk-r15c
SYSROOT=$NDK/platforms/android-23/arch-arm
export CC="arm-linux-androideabi-gcc --sysroot=$SYSROOT"
export LD="arm-linux-androideabi-ld"

命令改为:

./configure --host=arm-linux-androideabi --disable-shared --without-zlib --with-ssl=/Users/xxx/libs/android-build/out --prefix=/Users/xxx/libs/android-build/out

坑坑多,慢慢体会.

输出如下便成功:


  curl version:     7.59.0
  Host setup:       arm-unknown-linux-androideabi
  Install prefix:   /Users/xxx/libs/android-build/out
  Compiler:         arm-linux-androideabi-gcc --sysroot=/Users/xxx/apps/android-ndk-r15c/platforms/android-23/arch-arm
  SSL support:      enabled (OpenSSL)
  SSH support:      no      (--with-libssh2)
  zlib support:     no      (--with-zlib)
  brotli support:   no      (--with-brotli)
  GSS-API support:  no      (--with-gssapi)
  TLS-SRP support:  enabled
  resolver:         POSIX threaded
  IPv6 support:     enabled
  Unix sockets support: enabled
  IDN support:      no      (--with-{libidn2,winidn})
  Build libcurl:    Shared=no, Static=yes
  Built-in manual:  enabled
  --libcurl option: enabled (--disable-libcurl-option)
  Verbose errors:   enabled (--disable-verbose)
  SSPI support:     no      (--enable-sspi)
  ca cert bundle:   no
  ca cert path:     no
  ca fallback:      no
  LDAP support:     no      (--enable-ldap / --with-ldap-lib / --with-lber-lib)
  LDAPS support:    no      (--enable-ldaps)
  RTSP support:     enabled
  RTMP support:     no      (--with-librtmp)
  metalink support: no      (--with-libmetalink)
  PSL support:      no      (libpsl not found)
  HTTP2 support:    disabled (--with-nghttp2)
  Protocols:        DICT FILE FTP FTPS GOPHER HTTP HTTPS IMAP IMAPS POP3 POP3S RTSP SMB SMBS SMTP SMTPS TELNET TFTP

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值