【发布时间】:2016-12-29 17:19:46
【问题描述】:
我正在开发一个使用 OpenSSL 库的应用程序。我正在尝试在 Android 模拟器上运行该应用程序而不用boringssl 替换 OpenSSL。因此,我下载了 AOSP 源代码树,目前可以使用模拟器。
要添加 OpenSSL,我将 openssl 克隆到 external/openssl。
基于openssl项目http://github.com/eighthave/openssl-android 我在 external/openssl、external/openssl/apps、external/openssl/crypto 和 external/openssl/ssl 文件夹中添加了不同的 Android.mk 文件,将 android-config.mk 和 Application.mk 添加到了 external/openssl 文件夹中。但是当我运行 mm 时,编译器吐出一个错误:
build/core/base_rules.mk:217: *** external/openssl/crypto: MODULE.TARGET.SHARED_LIBRARIES.libcrypto already defined by external/boringssl.
build/core/ninja.mk:155: recipe for target 'out/build-aosp_arm-mmm-external_openssl_Android.mk.ninja' failed
make: *** [out/build-aosp_arm-mmm-external_openssl_Android.mk.ninja] Error 1
make: Leaving directory '/home/rong/projects/Android/src'
有谁知道如何在 AOSP 中构建 OpenSSL?
AOSP 环境:
- PLATFORM_VERSION := 6.0.1
- PLATFORM_SDK_VERSION := 23
- PLATFORM_JACK_MIN_SDK_VERSION := 24
开发环境:
- Ubuntu 16.04 LTS
- GCC 5.4
【问题讨论】:
-
由于 BoringSSL 也使用相同的库名称,因此您必须更改 libcrypto.so 和 libssl.so 的名称。要逐步生成这些,请按照我下面的回答。