FFmpeg播放器项目运行报错:
Build command failed.
Error while executing process E:\AndroidStudio2.0\AndroidSDK\3.10.2.4988404\bin\cmake.exe with arguments {--build I:\android demos\MyPlayer\app\.externalNativeBuild\cmake\debug\armeabi-v7a --target native-lib}
Unknown argument demos\MyPlayer\app\.externalNativeBuild\cmake\debug\armeabi-v7a
Usage: cmake --build <dir> [options] [-- [native-options]]
Options:
<dir> = Project binary directory to be built.
--target <tgt> = Build <tgt> instead of default targets.
May only be specified once.
--config <cfg> = For multi-configuration tools, choose <cfg>.
--clean-first = Build target 'clean' first, then build.
(To clean only, use --target 'clean'.)
--use-stderr = Ignored. Behavior is default in CMake >= 3.0.
-- = Pass remaining options to the native tool.
解析:
首先根据提示 Usage: cmake --build

这个文件用来被Android Gradle Plugin中的externalNativeBuild任务解析,将构建命令解析出来,然后编译C/C++代码,最后产生目标so文件。
报错信息中有提示: Unknown argument demos\MyPlayer\app.externalNativeBuild\cmake\debug\armeabi-v7a
而我的项目目录是 I://android demos\MyPlayer\app.externalNativeBuild\cmake\debug\armeabi-v7a
可以明显的看出是目录文件夹android demos中的空格被当成分隔符错误解析导致,解决方法很简单,目录中不要带空格就ok了,改好后果真可以正常运行打包了。