You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android平台编译ffmpeg-kit报错arm-linux-androideabi-strip未找到

故障定位

编译终止的核心原因和日志开头的宏重定义警告无关,致命错误为执行二进制裁剪步骤时,系统找不到arm-linux-androideabi-strip工具,触发make返回127错误码退出。
前面的__ANDROID_API__宏重定义是NDK版本兼容产生的普通警告,不会阻塞编译流程,无需单独处理。

问题成因
  • 你本地安装的Android NDK版本过新:从NDK r23版本开始,旧版ARMv7架构使用的arm-linux-androideabi-前缀工具链被移除,统一替换为带API版本后缀的目标工具,以及通用的LLVM工具链,旧名称的strip程序已经不存在于新版NDK中。
  • 仓库内的android.sh编译脚本没有适配新版NDK的工具链命名规则,仍然硬编码调用旧版NDK的strip工具名,即使重新拉取仓库代码,只要本地NDK版本不符合脚本预设要求,就会重复触发该错误。
修复方法
  • 方法一:降级NDK版本。下载r22b及更早版本的Android NDK,将脚本中配置的NDK路径指向旧版NDK目录后重新编译,旧版NDK保留了arm-linux-androideabi-strip工具,可直接匹配原有脚本逻辑。
  • 方法二:修改脚本工具配置。找到android.sh中设置STRIP变量或工具链前缀的代码段,将原配置的arm-linux-androideabi-strip替换为本地NDK内实际存在的strip程序路径,推荐直接使用NDK内置的通用LLVM裁剪工具,路径为$ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/<对应主机架构目录>/bin/llvm-strip,该工具兼容所有Android目标架构的二进制裁剪需求。
  • 方法三:跳过裁剪步骤。如果不需要对生成的动态库做调试符号裁剪,可以在编译配置参数中添加--disable-stripping,直接跳过strip执行环节,即可绕过该错误完成编译,缺点是最终输出的so文件体积会更大。

内容的提问来源于stack exchange,提问作者dnz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 00:06:25