2013-05-19 2 views
4

Я пытаюсь создать PJSIP на Android с поддержкой SSL/TLS.Android build PJSIP с openssl

Я успешно построил OpenSSL после this answer (без fips, как библиотеки shared-.so) и установил его в ~/android (который создал каталог ~/android/ssl).

Теперь, когда я делаю

./configure-android --with-ssl=/home/andrea/android/ssl 

и посмотреть на config.log, то первая ошибка заявляет

<ndk-directories-and-stuff>/arm-linux-androideabi/bin/ld: warning: libdl.so, needed by /home/andrea/android/ssl/lib/libcrypto.so, not found (try using -rpath or -rpath-link) 

много неопределенных ссылок следовать.

Как следствие поддержка SSL отключена:

aconfigure:7012: result: ** OpenSSL libraries not found, disabling SSL support ** 
ac_cv_header_openssl_ssl_h=yes 
ac_cv_lib_ssl_SSL_library_init=no 
CFLAGS=' -I/home/andrea/android/android-ndk-r8e/platforms/android-14/arch-arm/usr/include -DPJ_IS_BIG_ENDIAN=0 -DPJ_IS_LITTLE_ENDIAN=1 -I/home/andrea/android/ssl/include' 
LDFLAGS=' -nostdlib -L/home/andrea/android/android-ndk-r8e/platforms/android-14/arch-arm/usr/lib/ -L/home/andrea/android/ssl/lib' 
ac_no_ssl='' 
libssl_present='' 
openssl_h_present='1' 

но libdl.so существует в каталоге НДК в:

<ndk-dir>/platforms/android-14/arch-arm/usr/lib/ 

Я предполагаю, что я должен сказать ЛД, где другие библиотеки, , что значит ли это предложение ld?

try using -rpath or -rpath-link 

Я не могу понять, что такое -rpath или rpath-link или где их применять.

любые идеи?

ответ

2

Я успешно построил PJSIP с OpenSSL. выполните следующие действия:

Сначала скачайте openssl-android и скомпилируйте его, прочитав файл ReadMe. (Поместить android-ndk в PATH и выполнить команду ndk-build в openssl-android корень), а затем просто скопировать libcrypto.so и libssl.so из libs/armeabi/ папки в папку lib/ в корне openssl-android (вы можете создать эту папку). ваша структура каталогов должна теперь быть похожим:
openssl-android/
->apps
->crypto
->include
->jni
->lib
->libs
->...

теперь просто выполнить в корневой директории pjsip:
./configure-android --with-ssl=/home/your-user-name/path-to-openssl-android-dir

для подтверждения того, что OpenSSL входит только трубу эту команду, чтобы Grep как:
./configure-android --with-ssl=/home/your-user-name/path-to-openssl-android-dir | grep -wi ssl

, то вы увидите эту строку result: OpenSSL library found, SSL support enabled. Это означает, что OpenSSL теперь включен для вашего PJSIP. Теперь вы можете продолжать нормально.

надеюсь, что это поможет.

+0

hi moonzai, я следил за вашим шагом и его работой здесь.но поскольку мне нужно построить pjsip с SSL на более низких настроенных устройствах, таких как API-9 или API-11. поэтому, пожалуйста, назовите меня, как это сделать. действительно, это мне очень поможет. –

+0

привет @ Джонсмит, приятно слышать, что это вам помогло. По моему опыту, он должен работать на этих уровнях API безупречно. Если вы столкнулись с ошибкой, скажите мне об этом. – moonzai

Смежные вопросы