You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

项目含C++文件未用支持的原生构建系统,:app:compileDebugNdk任务执行失败求助

解决Android项目:app:compileDebugNdk执行失败问题

嘿,我来帮你搞定这个头疼的编译错误!你遇到的问题是项目里包含C++文件,但没配置Android官方支持的原生构建系统,导致:app:compileDebugNdk任务跑失败了。下面给你两种官方推荐的解决方案,一步步来就能搞定:

方法一:使用CMake构建

CMake是目前Android Studio推荐的原生构建工具,配置起来清晰直观:

  • 第一步:打开模块级的build.gradle(就是app目录下的那个,别搞成项目根目录的build.gradle啦)
  • 第二步:在android代码块里添加externalNativeBuild配置,指定CMake脚本的路径:
android {
    // 保留你原来的其他配置,比如compileSdk、defaultConfig这些
    externalNativeBuild {
        cmake {
            path "CMakeLists.txt" // 一般这个文件放在模块根目录,也就是app目录下
        }
    }
}
  • 第三步:确保模块根目录下存在CMakeLists.txt文件,里面要写好C++代码的编译规则,举个简单的例子:
cmake_minimum_required(VERSION 3.10.2)
project("your-app-name") // 替换成你的应用名称

# 定义要编译的库和源文件
add_library(
        native-lib // 生成的库名称
        SHARED // 编译成动态库
        src/main/cpp/native-lib.cpp) // 你的C++源文件路径,按需修改

# 链接Android系统的log库(如果你的代码用到日志的话)
find_library(
        log-lib
        log)

target_link_libraries(
        native-lib
        ${log-lib})
  • 第四步:点击Android Studio顶部的「Sync Project with Gradle Files」按钮同步项目,之后重新编译就能正常运行了。

方法二:使用ndk-build构建

如果你习惯用传统的ndk-build工具,也可以按以下步骤配置:

  • 第一步:同样打开模块级的build.gradle,在android块里配置externalNativeBuild指向Android.mk文件:
android {
    // 保留原有配置
    externalNativeBuild {
        ndkBuild {
            path "src/main/jni/Android.mk" // 指向jni目录下的Android.mk
        }
    }
}
  • 第二步:在src/main目录下创建jni文件夹,里面新建Android.mk和Application.mk两个文件:
    • Android.mk示例(核心编译配置):
LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := native-lib // 生成的库名称
LOCAL_SRC_FILES := native-lib.cpp // 你的C++源文件路径

include $(BUILD_SHARED_LIBRARY)
  • Application.mk示例(可选,用来指定支持的CPU架构、NDK版本等):
APP_ABI := all // 支持所有架构,也可以指定armeabi-v7a、arm64-v8a等
APP_PLATFORM := android-21 // 最低支持的Android版本
  • 第三步:同步Gradle项目,重新编译即可。

关于实验性插件

如果上面两种正式方案暂时不想尝试,也可以考虑用实验性插件,但要注意这类插件稳定性不如正式版,配置起来也需要额外调整项目级的Gradle依赖。个人还是更推荐用前面两种官方正式支持的构建方式,避免后续踩坑。

内容的提问来源于stack exchange,提问作者Unnati Patadia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 06:49:39