Как собрать OpenSSL 1.1.1 для 64-битного Android с помощью NDK 17 - PullRequest
0 голосов
/ 05 февраля 2019

Не удалось собрать OpenSSL для 64-битного Android.Вот шаги, которые я предпринял:

  1. Загрузил setenv_android.sh с https://wiki.openssl.org/images/7/70/Setenv-android.sh
  2. Скачал OpenSSL 1.1.1 с https://www.openssl.org/source/old/1.1.1/openssl-1.1.1.tar.gz
  3. Распаковалtar-файл
  4. Изменен сценарий setenv_android, чтобы при его запуске получался такой вывод:

    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
    
  5. Сконфигурировал openssl с помощью: ./Configure no-rc5 no-idea no-md2 no-cast linux-aarch64

  6. Ран 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).

1 Ответ

0 голосов
/ 07 февраля 2019

Скрипты и примеры в OpenSSL Wik сильно устарели.Конкретный скрипт сборки не поддерживает arm64.

К счастью, GitHub приходит на помощь: попробуйте https://github.com/noloader/Android-PRNG/blob/master/setenv-android.sh.

...