為 Android 編譯 openssl 的注意事項
以下載鏈接?https://www.openssl.org/source/openssl-1.1.1o.tar.gz?為例
下載解壓之后,查看根目錄的 NOTES.ANDROID,其中有
這里就是最直接的編譯方式了。但是這樣編譯之后,會有一個坑
編譯時嘗試鏈接 libssl.so ,實際上會鏈接到 libssl.so.1.1 ,但是當(dāng)你嘗試將 libssl.so.1.1 集成到 Android studio 工程內(nèi)時,會發(fā)現(xiàn) libssl.so.1.1 這種命名格式so,Android studio 是不會自動將其打包到 apk 內(nèi)的,即使將 libssl.so.1.1 改名為 libssl.so 可以集成到 apk ,app運行時仍然會去找 libssl.so.1.1。因為 so 內(nèi)部有其文件名信息
對于Android來說,我們更希望編譯之后 so 本身名字就叫 libssl.so。
具體做法是解壓 openssl-1.1.1o.tar.gz 之后,修改 15-android.conf
大概 193 行
這樣可以編譯出來不帶版本后綴的 libssl.so 和 libcrypto.so
可以參考下邊的懶人腳本來自行編譯
使用時,將 NDK_HOME傳入,例如,腳本保存為 build.sh,則執(zhí)行命令
想為 Android (arm/x86/x86_64)編譯時,修改腳本末尾的 buildopenssl 注釋
標(biāo)簽: