【问题标题】:NDK build error in Android Studio finished with non-zero exit value 2Android Studio 中的 NDK 构建错误以非零退出值 2 完成
【发布时间】:2017-04-20 09:02:36
【问题描述】:

我正在开发 openCv,因此我正在使用 NDK,但在制作项目或构建时出现错误

Error:Execution failed for task ':app:ndkBuild'.
> Process 'command 'C:/Users/Admin/AppData/Local/Android/Sdk/ndk-bundle/ndk-build.cmd'' finished with non-zero exit value 2

我不明白为什么会这样,下面是我的 build.gradle 代码

sourceSets.main {
    jni.srcDirs = [] //disable automatic ndk-build call
}
task ndkBuild(type: Exec, description: 'Compile JNI source via NDK') {
    commandLine "C:/Users/Admin/AppData/Local/Android/Sdk/ndk-bundle/ndk-build.cmd",
            'NDK_PROJECT_PATH=build/intermediates/ndk',
            'NDK_LIBS_OUT=src/main/jniLibs',
            'APP_BUILD_SCRIPT=src/main/jni/Android.mk',
            'NDK_APPLICATION_MK=src/main/jni/Application.mk'
}
tasks.withType(JavaCompile) {
    compileTask -> compileTask.dependsOn ndkBuild
}

任何人都可以告诉我为什么我会收到这个错误。谢谢!

【问题讨论】:

  • 您也可以尝试在最新的 Android Studio 版本中使用 CMake 构建架构来消除此类错误。 :)
  • 你的意思是编辑android.mk和application.mk
  • 在 Android Studio 2.3 中,您应该使用集成的 externalBuild:developer.android.com/studio/projects/add-native-code.html。你不需要切换到CMake,它完全支持ndk-build
  • 关于错误,可以从命令行重现吗?在控制台中查看构建日志会更容易。如果您无法弄清楚自己,请在此处发布此输出。
  • @AlexCohn 谢谢!我必须从开发人员网站上阅读,你能告诉我使用 openCv 哪个更好使用 NDK 或简单的 openCv java SDK 吗??

标签: android opencv android-ndk java-native-interface


【解决方案1】:

我通过将 Android.mk 中的 OPENCVROOT 变量更改为

解决了这个问题
OPENCVROOT := /pathToYourOpenCVFile/sdk/native/jni

这意味着您不应该按照 OpenCV 教程中的说明编写顶层目录。

我正在使用 Ubuntu Linux 14.04Android Studio 2.3.2。祝你好运。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-02
    • 1970-01-01
    • 2018-03-17
    • 1970-01-01
    • 1970-01-01
    • 2018-11-12
    • 2015-07-09
    相关资源
    最近更新 更多