【发布时间】:2018-10-18 11:41:58
【问题描述】:
主要问题:
有没有办法让 Android aar 构建过程包含libssl.so.1.1?
背景:
我正在使用 openssl 1.1.0 构建一个 .aar。 共享对象 openssl 输出是“libssl.so.1.1”和“libssl.so”(加上 libcrypto,但我现在将排除它)
使用共享对象创建 .aar 时,android 库构建成功完成,但缺少以“.so.1.1”结尾的共享对象。但是,它包括其他明确以“.so”结尾的共享对象
我假设 android aar gradle 任务正在对以“.so”结尾的文件进行严格检查。
查看 android build 目录,我看到“intermediates -> jniLibs -> release”包含所有 .so,包括 *.so.1.1。 但是,在“中间体 -> library_and_local_jars_jni -> release”中查找它缺少 .so.1.1 文件。
更多信息:
- 我正在手动编译 OpenSSL,然后将 .so 文件放入 Android aar 库项目中。 (我已经通过直接在 apk 中加载它们来测试它们是正确的)
- OpenSSL 目前似乎不支持较新的 NDK,所以我使用的是 NDK 13。
- Android 库项目的目标是 Android SDK 27,最小值为 21
- Android 库项目是包括 .so 的,只是不是以 .so.1.1 结尾的那个
- 共享对象文件将进入相应的体系结构目录,例如“arm64-v8a”
感谢您的帮助。
【问题讨论】:
标签: android ssl openssl aar .so