升级Android Studio NDK后构建失败:CMAKE_C/CXX_COMPILER未设置求助
解决Android Studio NDK更新后CMake构建错误的方案
我之前处理过好几起类似的NDK更新后CMake构建失败的问题,结合经验给你几个靠谱的解决方向:
1. 排查NDK与CMake的版本兼容性
你当前用的CMake版本是3.6.4111459,这个版本偏老,大概率和你更新后的NDK不兼容——不同版本的NDK对CMake的版本有明确要求。可以这么操作:
- 打开Android Studio的设置(Windows:
File > Settings;Mac:Android Studio > Settings) - 进入
Build, Execution, Deployment > Build Tools > CMake,查看已安装的CMake版本,尝试切换到3.10及以上的版本(这类版本适配多数较新NDK) - 如果没有合适的版本,点击
+号安装一个兼容的CMake版本
2. 手动指定稳定NDK版本
最新版NDK偶尔会引入兼容性问题,不如直接锁定一个经过验证的稳定版本:
- 打开项目根目录的
local.properties文件,添加或修改ndk.dir字段,指定一个已知可用的NDK路径,比如:ndk.dir=C:\\Users\\AnimallTag\\AppData\\Local\\Android\\sdk\\ndk\\21.4.7075529 - 或者在Module级的
build.gradle中直接指定NDK版本:
21.x系列的NDK是很多项目验证过的稳定版本,兼容性很强。android { ndkVersion "21.4.7075529" }
3. 清理缓存并重新构建
缓存损坏也可能导致这类找不到编译器的错误,先清理试试:
- 点击Android Studio工具栏的
Build > Clean Project - 接着点击
Build > Rebuild Project - 可以手动删除app目录下的
.externalNativeBuild文件夹,然后点击File > Sync Project with Gradle Files重新同步项目
4. 直接降级NDK到兼容版本
如果上面的方法都没效果,直接降级NDK是最直接的方案:
- 打开Android Studio的
SDK Manager(Tools > SDK Manager) - 切换到
SDK Tools标签,勾选Show Package Details - 找到
NDK (Side by side),展开后选择一个旧版本(比如21.x系列),点击Apply完成安装 - 安装后按照步骤2的方法,在项目中指定这个旧版本的NDK路径
5. 检查CMakeLists.txt配置
最后确认下你的CMakeLists.txt没有配置错误,比如是否正确声明了库和依赖,示例配置如下:
cmake_minimum_required(VERSION 3.4.1) # 构建你的C++库 add_library( native-lib SHARED src/main/cpp/你的C++文件名.cpp ) # 链接NDK自带的log库 find_library( log-lib log ) target_link_libraries( native-lib ${log-lib} )
内容的提问来源于stack exchange,提问作者Nathan Imamura
相关产品推荐
相关产品推荐

