任务 ":app:ndkBuild" 执行失败。>进程'Command'完成,退出值为非零 2
Execution failed for task ":app:ndkBuild". >Process 'Command' finished with non-zero exit value 2
嗨,我目前正在关注YouTube上的一个教程,以使用Android Studio创建移动应用程序,不幸的是,我遇到了一些错误,无法自己解决。.cpp和.h文件的错误都是相同的。任何帮助将不胜感激,谢谢!:)
这是我的gradle构建中的错误:
Error:Execution failed for task ':app:ndkBuild'.
> Process 'command 'C:/Users/dell/AppData/Local/Android/sdk/ndk-bundle/ndk-
build.cmd'' finished with non-zero exit value 2
这是我的.h文件(Android Studio说" Jint"answers"缺少";"):
):/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
/* Header for class com_example_dell_mpdetecthumans_OpencvNativeClass */
#ifndef _Included_com_example_dell_humandetectionndk_OpencvNativeClass
#define _Included_com_example_dell_humandetectionndk_OpencvNativeClass
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: com_example_dell_mpdetecthumans_OpencvNativeClass
* Method: convertGray
* Signature: (JJ)I
*/
int toGray(Mat img, Mat& gray);
JNIEXPORT jint JNICALL
Java_com_example_dell_humandetectionndk_OpencvNativeClass_convertGray
(JNIEnv *, jclass, jlong, jlong);
#ifdef __cplusplus
}
#endif
#endif
.cpp file(Android Studio说" Jint"answers"缺少";"):
#include <com_example_dell_humandetectionndk_OpencvNativeClass.h>
JNIEXPORT jint JNICALL
Java_com_example_dell_humandetectionndk_OpencvNativeClass_convertGray
(JNIEnv *, jclass, jlong addrRgba, jlong addrGray){
Mat& mRgb = *(Mat*)addrRgba;
Mat& mGray = *(Mat*)addrGray;
int conv;
jint retVal;
conv = toGray(mRgb, mGray);
retVal = (jint)conv;
return retVal;
}
int toGray(Mat img, Mat& gray){
cvtColor(img, gray, CV_RGBA2GRAY);
if(gray.rows==img.rows && gray.cols==img.cols)
return 1;
return 0;
}
android.mk:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
#opencv
OPENCVROOT:= C:OpenCV-2.4.9-android-sdk
OPENCV_CAMERA_MODULES:=on
OPENCV_INSTALL_MODULES:=on
OPENCV_LIB_TYPE:=SHARED
include ${OPENCVROOT}/sdk/native/jni/OpenCV.mk
LOCAL_SRC_FILES := com_example_dell_humandetectionndk_OpencvNativeClass.cpp
LOCAL_LDLIBS += -llog
LOCAL_MODULE := MyOpencvLibs
include $(BUILD_SHARED_LIBRARY)
我的application.mk
APP_STL := gnustl_static
APP_CPPFLAGS := -frtti -fexceptions
APP_ABI := armeabi-v7a
APP_PLATFORM := android-16
我的应用程序build.gradle
sourceSets.main {
jni.srcDirs = [] //disable automatic ndk-build call
}
task ndkBuild(type: Exec, description: 'Compile JNI source via NDK') {
commandLine "C:/Users/dell/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
}
这是教程的链接,我正在关注:https://www.youtube.com/watch?v=oq3oicfsgbo&t = 727S
错误消息的大部分可能直接在您粘贴的上方。通常,Studio的构建输出看起来像:
- CMAKE/NDK输出此处
- 最终的Gradle消息在这里
我们需要从实际的构建系统中的输出来诊断发生了什么事 - 您可以在错误上方滚动:执行失败的任务失败':app:ndkbuild'位,看看是否有任何看起来像失败的东西?
相关文章:
- 为什么"do while"循环不断退出,即使条件计算结果为 false?
- 模板参数替换失败,并且未完成隐式转换
- 用C++在单独的头文件中完成函数体
- 创建LinkedList退出,返回代码为-11(SIGSEGV)
- 当我在main中声明了我的2d数组时,为什么我的程序会退出
- 如何让LLDB在成功时退出,在失败时等待
- C++控制台应用程序阻止退出
- 程序在执行程序的其余部分之前退出
- 构造函数在退出函数时无法初始化一个参数
- 为什么异常不退出程序?
- CLion、MinGW 和 SDL2:进程已完成,退出代码为 -1073741515 (0xC0000135)
- 完成任何一个操作后,该程序会自动退出,为什么?
- CLion 没有调试我的目标之一 - 立即"进程已完成,退出代码为 0"
- 任务 ":app:ndkBuild" 执行失败。>进程'Command'完成,退出值为非零 2
- c++允许后台线程在退出应用程序之前完成
- JNI - Java 在本机线程完成执行之前退出
- 在退出进程时等待线程完成
- 完成输出后,控制台应用程序退出.如何让它再次要求输入
- 用完成的信号退出Qt中的线程并进行clean_up的正确方法
- MPI 警告:程序退出并显示未完成的接收请求