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

Windows 10下构建HelloJNI示例项目时出现CXX1405错误

解决Android Studio HelloJNI示例构建时的CXX1405 CMake配置错误

问题背景

在Windows 10系统使用Android Studio Electric Eel | 2022.0.0 Patch 2版本,构建官方HelloJNI示例项目时触发CXX1405错误,CMake配置阶段失败,执行的命令如下:

[CXX1405] error when building with cmake using

C:\Users\az01799\AndroidStudioProjects\HelloJNI\app\src\main\cpp\CMakeLists.txt: 
        C++ build system [configure] failed while executing:
        @echo off
        \"C:\\Users\\az01799\\AppData\\Local\\Android\\Sdk\\cmake\\3.18.1\\bin\\cmake.exe\" ^
          \"-HC:\\Users\\az01799\\AndroidStudioProjects\\HelloJNI\\app\\src\\main\\cpp\" ^
          \"-DCMAKE_SYSTEM_NAME=Android\" ^
          \"-DCMAKE_EXPORT_COMPILE_COMMANDS=ON\" ^
          \"-DCMAKE_SYSTEM_VERSION=23\" ^
          \"-DANDROID_PLATFORM=android-23\" ^
          \"-DANDROID_ABI=x86\" ^
          \"-DCMAKE_ANDROID_ARCH_ABI=x86\" ^
          \"-DANDROID_NDK=C:\\Users\\az01799\\AppData\\Local\\Android\\Sdk\\ndk\\25.1.8937393\" ^
          \"-DCMAKE_ANDROID_NDK=C:\\Users\\az01799\\AppData\\Local\\Android\\Sdk\\ndk\\25.1.8937393\" ^
          \"-DCMAKE_TOOLCHAIN_FILE=
    C:\\Users\\az01799\\AppData\\Local\\Android\\Sdk\\ndk\\25.1.8937393\\build\\cmake\\android.toolchain.cmake\" ^
          \"-DCMAKE_MAKE_PROGRAM=
    C:\\Users\\az01799\\AppData\\Local\\Android\\Sdk\\cmake\\3.18.1\\bin\\ninja.exe\" ^
          \"-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=
    C:\\Users\\az01799\\AndroidStudioProjects\\HelloJNI\\app\\build\\intermediates\\cxx\\Debug\\50l44586\\obj\\x86\" ^
          \"-DCMAKE_RUNTIME_OUTPUT_DIRECTORY=
    C:\\Users\\az01799\\AndroidStudioProjects\\HelloJNI\\app\\build\\intermediates\\cxx\\Debug\\50l44586\\obj\\x86\" ^
          \"-DCMAKE_BUILD_TYPE=Debug\" ^
          \"-BC:\\Users\\az01799\\AndroidStudioProjects\\HelloJNI\\app\\.cxx\\Debug\\50l44586\\x86\" ^
          -GNinja
      from C:\Users\az01799\AndroidStudioProjects\HelloJNI\app
Affected Modules: app

已尝试清理缓存重启、Build > Refresh Linked C++ Projects、同步Gradle等操作,问题未解决,仅使用Android Studio自带的CMake(路径:C:\Users\MYUSERNAME\AppData\Local\Android\Sdk\cmake)。

解决方法

  • 调整CMake与NDK版本兼容性:CMake 3.18.1与NDK 25.x存在兼容性问题,打开SDK Manager安装CMake 3.22.1及以上版本(NDK 25.x推荐CMake 3.22+),然后在项目根目录的local.properties中指定新的CMake路径:
    cmake.dir=C\:\\Users\\az01799\\AppData\\Local\\Android\\Sdk\\cmake\\3.22.1
    
  • 修复路径转义与拆分问题:在app/build.gradle中手动指定CMake参数,避免自动拆分导致的路径异常:
    android {
        externalNativeBuild {
            cmake {
                path file('src/main/cpp/CMakeLists.txt')
                version "3.22.1" // 指定兼容的CMake版本
            }
        }
        defaultConfig {
            externalNativeBuild {
                cmake {
                    abiFilters 'x86'
                    arguments "-DCMAKE_TOOLCHAIN_FILE=${android.ndkDirectory}/build/cmake/android.toolchain.cmake",
                              "-DCMAKE_MAKE_PROGRAM=${cmakeDirectory}/bin/ninja.exe"
                }
            }
        }
    }
    
  • 切换构建生成器:将CMake生成器从Ninja改为Unix Makefiles,避免Windows下Ninja的路径解析问题。可在app/build.gradle的cmake配置中添加:
    arguments "-G", "Unix Makefiles"
    
  • 清理CMake缓存目录:手动删除项目下的.cxx目录(路径:C:\Users\az01799\AndroidStudioProjects\HelloJNI\app\.cxx),然后重新执行构建。
  • 检查目录权限:确保Android Studio拥有对用户目录(C:\Users\az01799)的读写权限,可右键以管理员身份运行Android Studio尝试构建。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 08:15:04