如何构建OpenSSL以使用Android NDK和Windows生成libcrypto.a

Jon*_*Jnm 4 android openssl build android-ndk libcrypto

我创建了一个使用本机代码的android应用程序.

它需要来自OpenSSL的libcrypto.a库,我不记得我在哪里下载它,但它的工作原理.问题是lib的版本是1.0.0a,我想更新到最新版本(现在是v1.0.1e).我下载https://github.com/android/platform_external_openssl并试图编译它,但也有很多错误,而编译.我不知道如何生成lib.

或者,也许(从C和H文件http://www.openssl.org/source/)可以包含在我的C&H文件,而不是用lib?

谢谢!

小智 11

如果你不想自己编译libs,我刚刚完成了这个并上传到github.

OpenSSL的1.0.2版(2015年1月22日)

它包括Arm和x86的静态和共享库,还包括Android.mk和include文件.

https://github.com/emileb/OpenSSL-for-Android-Prebuilt

  • 我正在尝试自己构建openssl静态库但有一些问题.你能分享我可以参考找到问题的构建脚本吗? (2认同)

NuS*_*ler 9

使用最新的OpenSSL源,您应该能够使用Android NDK中的独立工具链并配置+ make.基本步骤是:

  1. 导出TOOL_PREFIX,CC和SYSROOT以指向适当的工具链路径
  2. 配置
  3. 使

几个例子:

ARMv5te:

CC="/path/to/arm-linux-androideabi-gcc -mtune=xscale -march=armv5te -msoft-float --sysroot=/ndk_path/platforms/android-9/arch-arm"
./Configure android no-asm

ARMv7:

CC="/path/to/arm-linux-androideabi-gcc -march=armv7-a -mfloat-abi=softfp --sysroot=/ndk_path/platforms/android-9/arch-arm"
./Configure android-armv7 no-asm