错误:执行失败的任务’:app:compileDebugNdk’.
意味着毕业Android插件正在尝试调用ndk-build来编译源代码.您应该获得比日志窗口中的错误代码更多的详细信息.
无论如何,目前它使用自动生成的Makefile并忽略您的,因为您需要集成ffmpeg无法工作.
要克服这个问题,您应该禁用插件的自动ndk集成,并使其使用标准libs位置来获取.so文件:
sourceSets.main {
jniLibs.srcDir 'src/main/libs'
jni.srcDirs = [] //disable automatic ndk-build call
}
从那里你可以打电话给ndk-建立自己,或者让gradle给你打电话:
import org.apache.tools.ant.taskdefs.condition.Os
// call regular ndk-build(.cmd) script from app directory
task ndkBuild(type: Exec) {
if (Os.isFamily(Os.FAMILY_WINDOWS)) {
commandLine 'ndk-build.cmd','-C',file('src/main').absolutePath
} else {
commandLine 'ndk-build',file('src/main').absolutePath
}
}
tasks.withType(JavaCompile) {
compileTask -> compileTask.dependsOn ndkBuild
}
有关为什么这一切的更多信息,你可以检查这个gist和我的blog post.