-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
为 Android 平台编译 #773
Comments
用上面的脚本提示错误:make: *** build.cmake: No such file or directory. Stop. |
我看上面的脚本是在``build_workflow()这个函数里调用的cmake -B“build.cmake” 创建目录的,是不是没有调到这个函数呀? function build_workflow()
{
rm -rvf ${DEFAULT_BUILD_DIR}
cmake -B${DEFAULT_BUILD_DIR} -DANDROID_ABI=${ANDROID_ABI} -DANDROID_PLATFORM=android-${ANDROID_API_LEVEL} -DANDROID_NDK=${ANDROID_NDK_HOME} -DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK_HOME}/build/cmake/android.toolchain.cmake -DOPENSSL_INCLUDE_DIR=${OPEN_SSL_DIR}/include -DOPENSSL_LINK_DIR=${OPEN_SSL_DIR} ${WORKFLOW_DIR}
...
} |
在调用build_workflow()里面的cmake执行后并没有生成build.cmake目录。 |
脚本我是从这里下载的,放到workflow目录,然后把openssl-1.1.1l.tar.gz放到workflow根目录,然后执行脚本,是这个流程吧。我执行好几遍了,都是提示make: *** build.cmake: No such file or directory. |
看起来cmake -B${DEFAULT_BUILD_DIR} 并没有默认帮你创建需要的目录,查了一下cmake 3.0以上就可以支持这个功能了。 |
使用 NDK 编译
安卓NDK是不自带 openssl 的,需要我们手动编译好提供。
国内可以直接访问安卓的开发者网站 https://developer.android.google.cn/ndk/downloads/ 来下载到 NDK 。
可以参考下面的懒人脚本
p.s: 安卓常用的平台: arm/arm64/x86/x86_64 ,想要编译不同平台的库,修改脚本内的 ANDROID_ABI_ARCH 和 ANDROID_ABI
在 AOSP 源码内编译
AOSP 源码内提供的 ssl 和 crypto 是 boringssl ,Android 8.0 及以上,可以参考以下 Android.bp
The text was updated successfully, but these errors were encountered: