当前位置: 首页 > 面试题库 >

任务':app:compileDebugNdk'执行失败,无法运行此命令ndk-build.cmd

曾典
2023-03-14
问题内容
Error:Execution failed for task ':app:compileDebugNdk'.

com.android.ide.common.internal.LoggedErrorException:无法运行命令:C:\ Program
Files \ ADT \ sdk \ android-ndk \ ndk-build.cmd NDK_PROJECT_PATH = null

Error Code:
1

这是尝试在android studio上的项目上运行make时得到的输出。我在android studio 1.0 sdk构建工具24.0上,但定位到API
14

这就是我的Android.mk文件的样子

 LOCAL_PATH := $(call my-dir)

 include $(CLEAR_VARS)

 LOCAL_MODULE    := Main
 LOCAL_SRC_FILES := Main.cpp
 LOCAL_LDLIBS := -llog -ljnigraphics -lz -landroid
 LOCAL_SHARED_LIBRARIES := libavformat libavcodec libswscale libavutil

 include $(BUILD_SHARED_LIBRARY)
 $(call import-module,ffmpeg/android/arm)

这是我的application.mk文件的样子

APP_ABI := armeabi
#APP_ABI := armeabi-v7a
APP_PLATFORM := android-14

问题答案:

Error:Execution failed for task ':app:compileDebugNdk'.

表示gradle android插件正在尝试调用ndk-build本身来编译您的源代码。您应该获得比日志窗口中的错误代码更多的详细信息。

无论如何,当前它使用自动生成的Makefile来执行此操作,并且忽略您的Makefile,这是行不通的,因为您需要集成ffmpeg。

为了克服这个问题,您应该禁用插件的自动ndk集成,并使其使用标准 位置来获取您的.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
}

有关为什么所有这些的更多信息,您可以查看本要点和我的博客文章。



 类似资料:
  • 我刚刚更新了我的cordova android到7.1.0,以支持Android27 sdk,以解决插件不能与SDK26一起工作的问题。 我尝试更改GradleBuilder.js文件中的gradle分发url,但没有成功。 编辑2:我想解决这个问题的firebase插件似乎是问题的一部分。移除:cordova-plugin-firebase允许应用程序的构建没有问题。似乎在添加插件后,我不能简单

  • 任务:应用程序:MiniFyReleaseWithr8失败 失败:生成失败,出现异常。 distributionurl=https://services.gradle.org/distributions/gradle-5.6.4-all.zip

  • 我正在尝试生成签名的apk,但不幸的是收到以下错误。 使用--debug完成日志

  • 每当我运行'react-native run-android'时,我会得到99%的错误消息: 任务“:app:TransformNativeLibsWithMergeJnilibsForDebug”执行失败。 无法解析配置“:app:DebugrunTimeClasspath”的所有文件。无法将项目“imagePipeline-base.aar(com.facebook.fresco:imageP

  • Build.Gradle(模块:应用程序) 生成错误输出失败:生成失败,出现异常。 > 错误:任务“:app:TransformClassesWithMultiDexListForFreeDebug”执行失败。 com.android.build.api.Transform.TransformException:生成主dex列表时出错。 gradle Build-S 例外情况是: GitHub项目

  • 我在安装android Studio的更新后遇到过这个问题。尝试更新android studio控制台推荐的升级版本和其他设置。经过所有的更新和下载,我在这里的这个问题。 注意:某些输入文件使用或重写了一个不推荐使用的API。 注意:有关详细信息,请使用-xlint:deprecation重新编译。 失败:生成失败,出现异常。 我尝试过以下解决方案,但没有任何效果: > 在重新生成时删除了此文件(