如何使用NDK 17为64位Android构建OpenSSL 1.1.1 [英] How to build OpenSSL 1.1.1 for 64 bit Android using NDK 17

查看:616
本文介绍了如何使用NDK 17为64位Android构建OpenSSL 1.1.1的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

无法为64位Android构建OpenSSL.这是我已采取的步骤:

Failing to build OpenSSL for 64bit Android. Here are the steps I've taken:

  1. https://wiki.openssl下载了setenv_android.sh .org/images/7/70/Setenv-android.sh
  2. https ://www.openssl.org/source/old/1.1.1/openssl-1.1.1.tar.gz
  3. 解压缩tar文件
  4. 修改了setenv_android脚本,以便运行它会产生以下输出:

  1. Downloaded the setenv_android.sh from https://wiki.openssl.org/images/7/70/Setenv-android.sh
  2. Downloaded OpenSSL 1.1.1 from https://www.openssl.org/source/old/1.1.1/openssl-1.1.1.tar.gz
  3. Unpacked the tar file
  4. Modified the setenv_android script so that running it produced this output:

ANDROID_NDK_ROOT: /Users/spartygw/android-ndk-r17
ANDROID_ARCH: arch-arm64
ANDROID_EABI: aarch64-linux-android-4.9
ANDROID_API: android-22
ANDROID_SYSROOT: /Users/spartygw/android-ndk-r17/platforms/android-22/arch-arm64
ANDROID_TOOLCHAIN: /Users/spartygw/android-ndk-r17/toolchains/aarch64-linux-android-4.9/prebuilt/darwin-x86_64/bin
FIPS_SIG: 
CROSS_COMPILE: aarch64-linux-android-
ANDROID_DEV: /Users/spartygw/android-ndk-r17/platforms/android-22/arch-arm64/usr

  • 使用以下命令配置openssl:./Configure no-rc5 no-idea no-md2 no-cast linux-aarch64

    Ran make depend; make

    输出:

    In file included from crypto/aes/aesv8-armx.S:1:
    crypto/arm_arch.h:55:6: error: "unsupported ARM architecture"
    #    error "unsupported ARM architecture"
         ^
    1 error generated.
    make[1]: *** [crypto/aes/aesv8-armx.o] Error 1
    make: *** [all] Error 2
    

    这篇文章听起来像是我遇到了这个问题并停了下来.我向您保证,我已经花了一个完整的工作日来尝试各种事情,但都无济于事.我不想用我尝试过的垃圾乱扔问题(传递不同的ARM_ARCH值,尝试其他版本的openSSL,尝试不同的NDK).

    This writeup makes it sound like I ran into this problem and stopped. I assure you I've spent a complete workday trying various things and googling to no avail. I don't want to litter the question with junk that I tried (passing in different ARM_ARCH values, trying other versions of openSSL, trying different NDKs).

    推荐答案

    OpenSSL Wik上的脚本和示例已经过时了.特定的构建脚本不支持arm64.

    The scripts and examples on OpenSSL Wik are badly outdated. The specific build script does not support arm64.

    幸运的是,GitHub可以挽救:尝试 https://github.com/noloader/Android-PRNG/blob/master/setenv-android.sh .

    Luckily, GitHub comes to rescue: try https://github.com/noloader/Android-PRNG/blob/master/setenv-android.sh.

    这篇关于如何使用NDK 17为64位Android构建OpenSSL 1.1.1的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

  • 查看全文
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆