加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 执行失败的任务’:app:compileDebugNdk’无法运行此命

发布时间:2020-12-14 19:28:22 所属栏目:Java 来源:网络整理
导读:Error:Execution failed for task ':app:compileDebugNdk'. com.android.ide.common.internal.LoggedErrorException: Failed to run command: C:Program FilesADTsdkandroid-ndkndk-build.cmd NDK_PROJECT_PATH=null Error Code:1 这是我在android stud
Error:Execution failed for task ':app:compileDebugNdk'.

com.android.ide.common.internal.LoggedErrorException: Failed to run command:
C:Program FilesADTsdkandroid-ndkndk-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

解决方法

错误:执行失败的任务’:app:compileDebugNdk’.

意味着毕业Android插件正在尝试调用ndk-build来编译源代码.您应该获得比日志窗口中的错误代码更多的详细信息.

无论如何,目前它使用自动生成的Makefile并忽略您的,因为您需要集成ffmpeg无法工作.

要克服这个问题,您应该禁用插件的自动ndk集成,并使其使用标准libs位置来获取.so文件:

sourceSets.main {
    jniLibs.srcDir 'src/main/libs'
    jni.srcDirs = [] //disable automatic ndk-build call
}

从那里你可以打电话给ndk-建立自己,或者让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',file('src/main').absolutePath
    }
}

tasks.withType(JavaCompile) {
    compileTask -> compileTask.dependsOn ndkBuild
}

有关为什么这一切的更多信息,你可以检查这个gist和我的blog post.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读