Мне нужно собрать последнюю версию OpenSSL (1.0.0g) для приложения Android. Я пытаюсь следовать примеру, приведенному https://github.com/fries/android-external-openssl,, но просто не могу его построить.
Я работаю под управлением Windows 7 Professional (64-разрядная версия) с полной версией Cygwin. Я установил Android SDK и NDK и могу успешно собрать и запустить пример приложения NDK hello-jni.
Я создал новый пример приложения NDK под названием hello-openssl. В его каталоге jni я создал каталог openssl . Там я распаковал https://github.com/fries/android-external-openssl/zipball/master,, который дал мне эту древовидную структуру в каталоге c: \ android \ android-ndk \ samples \ hello-openssl:
jni
+- openssl
+- apps
+- crypto
+- include
+- openssl
+- ssl
Затем я изменил файл Android.mk в каталоге jni , пытаясь включить файлы OpenSSL:
subdirs := $(addprefix $(LOCAL_PATH)/,$(addsuffix /Android.mk, \
openssl \
))
include $(subdirs)
Теперь, когда я выполняю ndk-build, он компилирует несколько файлов .c, но затем быстро завершается ошибкой:
Compile thumb : crypto <= cryptlib.c
In file included from jni/openssl/crypto/cryptlib.c:117:
jni/openssl/crypto/cryptlib.h:65:18: error: e_os.h: No such file or directory
jni/openssl/crypto/cryptlib.h:72:28: error: openssl/crypto.h: No such file or directory
Я нашел http://osdir.com/ml/android-ndk/2010-07/msg00424.html,, который говорит мне «добавить
JNI и JNI / включают в вышеупомянутые LOCAL_C_INCLUDES "в crypto / Android.mk, но я не могу понять синтаксис, который я должен использовать для достижения этой цели.
Я также не могу понять, у меня правильная структура каталогов.
Я искренне ценю любую помощь, которая может быть предложена.
Спасибо!