簡體   English   中英

Android使用openssl構建PJSIP

[英]Android build PJSIP with openssl

我正在嘗試在具有SSL / TLS支持的Android上構建PJSIP。

我按照此答案成功構建了OpenSSL(沒有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的目錄中:

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

我想我必須告訴ld其他庫在哪里,ld的建議是什么意思?

try using -rpath or -rpath-link

我不明白什么是-rpath或rpath-link或在哪里應用它們。

有任何想法嗎?

我用OpenSSL成功構建了PJSIP。 請按照以下步驟操作:

首次下載openssl-android ,並通過閱讀自述文件進行編譯。 (將您的android-ndk放入PATH並在openssl-android根目錄中執行命令ndk-build )然后將libcrypto.solibssl.solibs/armeabi/文件夾復制到openssl-android根目錄下的lib/文件夾中(您可以創建此文件夾)。 您的目錄結構現在應類似於:
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 這意味着,現在已為您的PJSIP啟用OpenSSL。 現在您可以繼續正常。

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM