Я новичок в NDK, я пытаюсь добавить openssl в свой проект Android с помощью C, я посмотрел и попробовал, и я не могу понять, как связать библиотеки openssl в Android, еще одна причина, по которой я прошу об этом потому что большинство страниц и сообщений, которые я нашел, говорят или говорят об этом, ничего не говорят о 64-битных арках (ARM64, MIPS64 и x86_64), только для ARM и X86 arch, я не нашел никаких недавних сообщений, использующих NDK 10 и 64 бит.Android NDK OpenSSL
Я попытался это link и я получаю сообщение об ошибке при попытке строки:
$ . ./setenv-android.sh
bash: ./setenv-android.sh: line 106: do
106 линии говорит:
for host in "linux-x86_64" "linux-x86" "darwin-x86_64" "darwin-x86"
do
if [ -d "$ANDROID_NDK_ROOT/toolchains/$_ANDROID_EABI/prebuilt/$host/bin" ]; then
ANDROID_TOOLCHAIN="$ANDROID_NDK_ROOT/toolchains/$_ANDROID_EABI/prebuilt/$host/bin"
break
fi
done
, но я не знаете, как исправить код, и он вроде старый, что сообщение.
Кроме того, я попытался это link, но я не мог сделать шаг 1. gpg --import # paste PGP public key block on stdin
Когда я попытался его с помощью соответствующего открытого ключа блока он не делал что-то и при попытке ./import_openssl.sh import openssl-*.tar.gz
это показать ошибку и ./import_openssl.sh regenerate patches/*.patch
не исправить, он также не знал, как изменить openssl.config
и patches
, а также я не думаю, что работа для 64-битной арки.
Может Sombody сказать мне или отправить мне как связаны библиотеки OpenSSL в НДК для всех ABI, я использую Windows 7, Cygwin и НДК 10d
Ну, это выглядит ОК для меня. Кажется, это одна из двух вещей. Во-первых, убедитесь, что вы используете Unix/Linux newline ('LF'), а не Windows (' CRLF') или OS X ('CR'). Во-вторых, добавьте полуколону после 'для хоста в« linux-x86_64 »« linux-x86 »« darwin-x86_64 »« darwin-x86 »;'. Странная вещь - это запятая, которая должна быть обязательной, если 'do' находится в той же строке, что и' if'. (Кстати, я написал этот скрипт. Возможно, я перешел Windows и OS X, потому что регулярно работаю на обеих платформах). – jww
Я меняю Unix/Linux newline (LF), и это работает, спасибо, но я получаю 2 ошибки, когда я делаю команду 'make depend':' cryptlib.c: 170: 3: error: # error "Несоответствие между crypto.h и cryptlib.c "' cryptlib.c: 170: 3 говорит '#if CRYPTO_NUM_LOCKS! = 41 # ошибка" Несоответствие между crypto.h и cryptlib.c " # endif' и другая ошибка' uid.c : 77: 10: error: #include ожидает «FILENAME» или #include OPENSSL_UNISTD' –
Начать новую тему для выпуска с '# errors'. – jww