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

时间:2013-05-29 09:23:16

标签: android build android-ndk openssl 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?

谢谢!

2 个答案:

答案 0 :(得分:10)

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

OpenSSL 1.0.2版(2015年1月22日)

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

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

答案 1 :(得分:9)

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

  1. 导出TOOL_PREFIX,CC和SYSROOT指向适当的工具链路径
  2. 配置
  3. 使
  4. 几个例子:

    的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