Error:Execution failed for task ':app:compileDebugNdk'.
表示gradle android插件正在尝试调用ndk-build本身来编译您的源代码。您应该获得比日志窗口中的错误代码更多的详细信息。
无论如何,当前它使用自动生成的Makefile来执行此操作,并且忽略您的Makefile,这是行不通的,因为您需要集成ffmpeg。
为了克服这个问题,您应该禁用插件的自动ndk集成,并使其使用标准 库 位置来获取您的.so文件:
sourceSets.main { jniLibs.srcDir 'src/main/libs' jni.srcDirs = [] //disable automatic ndk-build call}从那里,您可以自己调用 ndk-build ,也可以通过gradle为您调用:
import org.apache.tools.ant.taskdefs.condition.Os// call regular ndk-build(.cmd) script from app directorytask ndkBuild(type: Exec) { if (Os.isFamily(Os.FAMILY_WINDOWS)) { commandLine 'ndk-build.cmd', '-C', file('src/main').absolutePath } else { commandLine 'ndk-build', '-C', file('src/main').absolutePath }}tasks.withType(JavaCompile) { compileTask -> compileTask.dependsOn ndkBuild}有关为什么所有这些的更多信息,您可以查看本要点和我的博客文章。



