当我尝试构建oculus mobile sdk的示例项目时,我遇到了一些错误。
错误:FAILURE:构建因异常而失败。
其中: 构建文件'〜/ oculus_sdk / ovr_sdk_mobile_1.0.0.1 / VrSamples / Native / CinemaSDK / Projects / Android / build.gradle'行:28
出了什么问题: 配置项目时出现问题':VrSamples:Native:CinemaSDK:Projects:Android'。
无法获取未知属性' compileReleaseNdk' for project':VrSamples:Native:CinemaSDK:Projects:Android'类型为org.gradle.api.Project。
尝试: 使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获得更多日志输出。
有人可以解决这个问题吗?
我的开发环境如下。
调试消息中提到的gradle文件内容就像这样...
UIViewController
答案 0 :(得分:0)
我已经在类似的问题上找到了一个很好的答案: execution failed for task ':app:compileDebugNdk' failed to run this command ndk-build.cmd
Error:Execution failed for task ':app:compileDebugNdk'.
表示gradle android插件正在尝试调用ndk-build 本身编译你的来源。你应该得到更多的细节 日志窗口中的错误代码。
无论如何,目前它使用自动生成的Makefile和 忽略你的,因为你需要整合ffmpeg而无法工作。
要解决此问题,您应该禁用插件的自动ndk 集成并使其使用标准的 libs 位置来获取您的 .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 directory task 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 }
您需要做的就是通过在build.gradle文件中添加以下属性来禁用ndk-build 。
sourceSets.main {
jniLibs.srcDir 'src/main/libs'
jni.srcDirs = [] //disable automatic ndk-build call
}
或删除第二行:jni.srcDirs = [...]
希望它会有所帮助