diff --git a/doc/BUILD_SO.md b/doc/BUILD_SO.md index 515a6ff8..ba863955 100644 --- a/doc/BUILD_SO.md +++ b/doc/BUILD_SO.md @@ -29,7 +29,7 @@ - 还有需要注意,需要 python2 执行环境,mac 默认 python3 的话可以直接下载一个 python2 的安装包安装就好了 -- M1 机器可以参考 : https://www.jianshu.com/p/22405a692c18 , :/Users/xxx/env/android-sdk/ndk/android-ndk-xxxx/ndk-build +- M1 机器可以参考 : https://www.jianshu.com/p/22405a692c18 , :/Users/xxx/env/android-sdk/ndk/android-ndk-xxxx/ndk-build 高版本: ``` #!/bin/sh @@ -61,13 +61,13 @@ 默认情况下,IJKPlayer 推荐的是 `android-ndk-r10e` ,这也是我用它做例子的原因,因为它够“古老”,而在现在的 macOS 上,如果你想使用 `android-ndk-r10e` ,你「可能」需要: -- 从网页下载,因为 Android Studio 的 SDK Manager 里不支持下载 r10 +- 从网页下载,因为 Android Studio 的 SDK Manager 里不支持下载 r10 - 配置 `android-ndk-r10e` 到环境变量 `export ANDROID_NDK="$HOME/Library/Android/sdk/ndk/android-ndk-r10e"` -- 修改编译脚本,` android/contrib/tools/do-detect-env.sh` 下的 `IJK_MAKE_FLAG` 改为 :`export IJK_MAKE_FLAG=-j1` +- 修改编译脚本,` android/contrib/tools/do-detect-env.sh` 下的 `IJK_MAKE_FLAG` 改为 :`export IJK_MAKE_FLAG=-j1` - 执行 `sudo spctl --master-disable` 关闭 macOS 的安全检验,**在 mac 上信任所有来源从而支持执行。**  - 将 python 环境变为默认 python2 - 如果出现 `awk` 过期的问题,去 `prebuilt/drawom-x86_64/bin` 下把它删了 -- 如果出现 `yasm/nasm not found or too old. Use --disable-yasm for a crippled build.`,安装 `brew install yasm` +- 如果出现 `yasm/nasm not found or too old. Use --disable-yasm for a crippled build.`,安装 `brew install yasm` - 如果 ndk-build 无法执行,可以修改 `./compile-ijk.sh` 为: ```patch case $SUB_CMD in @@ -94,7 +94,12 @@ ``` +#### 新版本 FFMpeg +- 升级之前,首先需要手动删除 contrib 下 openssl-arm64 文件 +- 然后修改 init-android-openssl 里的 git 链接和版本 +- 之后初始化后,修改 do-compile-openssl.sh 的 `FF_CFG_FLAGS="$FF_CFG_FLAGS --prefix=$FF_PREFIX"` +- 最后编译 ffmpeg 的时候,调整 configure 文件的 `check_lib openssl openssl/ssl.h OPENSSL_init_ssl -lssl -lcrypto`