5

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

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

或者也许 c 和 h 文件(来自http://www.openssl.org/source/)可以包含在我的 c&h 文件中而不使用 lib?

谢谢!

4

2 回答 2

12

如果您不想自己编译库,我刚刚完成并上传到 github。

OpenSSL 1.0.2 版(2015 年 1 月 22 日)

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

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

于 2015-01-29T17:21:26.310 回答
9

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

  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"
./配置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"
./配置android-armv7 no-asm
于 2013-05-29T23:48:17.987 回答