gpt4 book ai didi

android - 如何为 Android 6.0.1 构建 OpenSSL 1.0.2?

转载 作者:行者123 更新时间:2023-12-04 22:37:25 25 4
gpt4 key购买 nike

我正在开发一个使用 OpenSSL 库的应用程序。我正在尝试在 Android 模拟器上运行该应用程序而不用boringssl 替换 OpenSSL。因此,我下载了 AOSP 源代码树,目前可以使用模拟器。

要添加 OpenSSL,我 git 克隆 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 环境:
  • 平台版本:= 6.0.1
  • PLATFORM_SDK_VERSION := 23
  • PLATFORM_JACK_MIN_SDK_VERSION := 24

  • 开发环境:
  • Ubuntu 16.04 LTS
  • GCC 5.4
  • 最佳答案

    遵循这些说明可能会有所帮助:)

  • 从此网址下载 Android NDK(版本 ndk-r13b):
    https://dl.google.com/android/repository/android-ndk-r13b-linux-x86_64.zip
  • 将 NDK 解压到/home/Android。
  • 从此 URL 下载交叉编译设置脚本:
    https://wiki.openssl.org/images/7/70/Setenv-android.sh
  • 在 Setenv-android.sh 脚本中进行以下更改:
    a:将以下行添加到脚本的开头:
    ANDROID_NDK_ROOT=/home/Android/android-ndk-r13b
    b:修改_ANDROID_NDK="android-ndk-r13"。
    c: 修改_ANDROID_EABI="arm-linux-androideabi-4.9"
    d:修改_ANDROID_API="android-23"
  • 从此网址下载 openssl(版本 1.0.2n):
    https://www.openssl.org/source/old/1.0.2/openssl-1.0.2n.tar.gz
  • 解压下载的压缩包。
  • 打开新的终端窗口并导航到提取的目录。
  • 将 Setenv-android.sh 脚本移动到该目录并执行以下命令:
    chmod a+x Setenv-android.sh
    source ./Setenv-android.sh
  • 运行以下命令(配置 OpenSSL 源以构建 Android):
    ./Configure shared android
  • 执行以下命令来构建 libcrypto 和 libssl 共享库。
    make CALC_VERSIONS="SHLIB_COMPAT=; SHLIB_SOVER=" build_libs
  • 让构建成功完成。
  • 关于android - 如何为 Android 6.0.1 构建 OpenSSL 1.0.2?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39091682/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com