Android 任务“的执行失败”:应用程序:ndkBuild"&燃气轮机;过程';命令';以非零退出值2结束
大家好,我现在正在Youtube上学习一个教程,使用android studio创建一个移动应用程序,不幸的是,我遇到了一些错误,自己无法解决。.cpp和.h文件的错误相同。如有任何帮助,将不胜感激,请提前感谢!:) 这是我的gradle版本中的错误:Android 任务“的执行失败”:应用程序:ndkBuild"&燃气轮机;过程';命令';以非零退出值2结束,android,c++,android-ndk,Android,C++,Android Ndk,大家好,我现在正在Youtube上学习一个教程,使用android studio创建一个移动应用程序,不幸的是,我遇到了一些错误,自己无法解决。.cpp和.h文件的错误相同。如有任何帮助,将不胜感激,请提前感谢!:) 这是我的gradle版本中的错误: Error:Execution failed for task ':app:ndkBuild'. > Process 'command 'C:/Users/dell/AppData/Local/Android/sdk/ndk-bundle/
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”和“missing”;”有一个打字错误):
我的应用程序.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
}
这是我下面的教程链接:大部分错误消息可能就在您粘贴的内容的正上方。通常,studio的生成输出如下所示:
- 此处的Cmake/ndk输出
- 这里是最后的gradle消息
我们将需要实际构建系统的输出来诊断发生了什么——您能否在错误上方滚动:任务执行失败“:app:ndkBuild”位,看看是否有任何看起来像失败的东西?最新的Android Studio和Android Gradle插件支持NDK build和CMake。目前没有必要为此创建渐变任务。请看一下这个和一个文本文件的链接,以及文本截图的链接?只需在问题中张贴错误文本。如果太大,请使用gist/pastebin。@Sheikh gradle任务是什么?这是否意味着上面我的应用程序build.gradle中的代码块?@Dan Albert好的,我编辑了这篇文章alrdy@JonathanSeow,如果您将在应用程序build.gradle中使用blocks
externalNativeBuild{ndkBuild{…}}
,然后,您可以避免创建任务ndkBuild,并在此梯度文件中使compileTask依赖于它[:app:generatedebugunitsources,:app:mockableAndroidJar,:app:prepareDebugUnitTestDependencies,:app:generateDebugAndroidTestSources,:app:compileedebugunittestsources,:app:compileedebugandroidtestsources,:openCVLibrary249:generateDebugAndroidTestSources,:openCVLibrary249:mockableAndroidJar,:openCVLibrary249:prepareDebugUnitTestDependencies,:openCVLibrary249:CompiledBugSources,:openCVLibrary249:CompiledBugAndRoidTestSources,:openCVLibrary249:CompiledBugUnitTestSources]这是gradle buildExit code 2=windows输出的剩余区块,无法找到您指定的文件。我猜您在手动调用ndk build时出现了路径错误。
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)
APP_STL := gnustl_static
APP_CPPFLAGS := -frtti -fexceptions
APP_ABI := armeabi-v7a
APP_PLATFORM := android-16
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
}