Android Studio Cmake升级至最新版本
1.存在的问题
Android Studio SDK manager管理器中截止目前最新的Cmake版本为3.18.1,如下图
编译时出现警告:
C/C++: debug|arm64-v8a :Call Stack (most recent call first):
C/C++: debug|arm64-v8a : D:/android_sdk/ndk/23.1.7779620/build/cmake/android.toolchain.cmake:55 (include)
C/C++: debug|arm64-v8a : D:/MyWork/2022/android/app/.cxx/Debug/25n33124/arm64-v8a/CMakeFiles/3.18.1-g262b901-dirty/CMakeSystem.cmake:6 (include)
C/C++: debug|arm64-v8a : D:/MyWork/2022/android/app/.cxx/Debug/25n33124/arm64-v8a/CMakeFiles/CMakeTmp/CMakeLists.txt:2 (project)
C/C++: debug|arm64-v8a :CMake Warning at D:/android_sdk/ndk/23.1.7779620/build/cmake/android-legacy.toolchain.cmake:416 (message):
C/C++: debug|arm64-v8a : An old version of CMake is being used that cannot automatically detect
C/C++: debug|arm64-v8a : compiler attributes. Compiler identification is being bypassed. Some
C/C++: debug|arm64-v8a : values may be wrong or missing. Update to CMake 3.19 or newer to use
C/C++: debug|arm64-v8a : CMake's built-in compiler identification.
警告内容为:正在使用无法自动检测编译器属性的旧版本的 CMake。 正在绕过编译器标识。 某些值可能错误或缺失。 更新到 CMake 3.19 或更高版本,以使用 CMake 的内置编译器标识。
2 下载最新版CMake和ninja
下载最新版本的CMake(CMake截止发稿最新稳定版为3.22.3)
下载最新版本的ninja
假设条件
- Android SDK默认安装在"D:\android_sdk"
- CMake默认安装在"E:\cmake"
- ninja安装至"E:\cmake\bin",即和cmake.exe在同一目录
2.1 更新CMake需要修改local.properties和模块build.gradle文件.
local.properties
#在最后一行添加下面的内容
cmake.dir="E\:\\cmake"
模块build.gradle文件
#在android节点中添加externalNativeBuild(只要在android节点中即可,位置随意),如下
android {//设置CMakeexternalNativeBuild{cmake{#指定cmake版本version "3.22.3"#指定CMakeLists.txt,相对路径path 'src/main/cpp/CMakeLists.txt'}}
}
- 完成后打开项目目录,再打开app目录,然后删除.cxx和build目录;
- 在android studio菜单中点击 Build->Rebuild Project会提示以下错误
[CXX1301] Could not get version from cmake.dir path '"E:\cmake"'.
2.2 正确更新CMake的方法
- 将E:\cmake复制到Android SDK中的cmake目录
xcopy /S /Y e:\cmake D:\android_sdk\cmake\3.22.3
local.properties不定义cmake.dir
#不需要定义cmake.dir
#cmake.dir="E\:\\cmake"
模块build.gradle文件保持不变
#在android节点中添加externalNativeBuild(只要在android节点中即可,位置随意),如下
android {//设置CMakeexternalNativeBuild{cmake{#指定cmake版本version "3.22.3"#指定CMakeLists.txt,相对路径path 'src/main/cpp/CMakeLists.txt'}}
}
- 完成后打开项目目录,再打开app目录,然后删除.cxx和build目录;
- 在android studio菜单中点击 Build->Rebuild Project即可。
题外话local.properties中ndk.dir已弃用,并将在将来的版本中删除。还是老实在Android Studio SDK manager管理器中下载使用吧。
Android Studio Cmake升级至最新版本相关推荐
- android studio for mac 最新版本,Android Studio mac版-Android Studio for mac下载 V4.2.1-PC6苹果网...
Android Studio mac版为在各种类型的Android设备上构建应用程序提供了最快的工具.Android Studio mac版完全免费,跨平台支持Win/Mac/Linux,是替代 Ec ...
- android 最新sdk版本,详解如何在Android studio中更新sdk版本和build-tools版本
一.首先看下Android开发用到的sdk目录: build-tools 保存着一些Android平台相关通用工具,比如adb.和aapt.aidl.dx等文件. aapt即Android Asset ...
- android studio 发布版本,Android Studio 4.1 Canary 版本发布
Android Studio 4.1 Canary 版本发布 主要开始支持 Jetpack Compose 支持 Jetpack Compose Jetpack Compose工具包提供了一种构建应用 ...
- 将Visual Studio更新到最新版本
目录 使用Visual Studio安装程序 使用IDE 在Visual Studio中 使用通知中心 自定义更新设置 我们鼓励您更新到Visual Studio 2019的最新版本,以便始终获得最新 ...
- Android Studio 3.5.2版本安装流程
1.点击(如图1所示) 图1 2.双击下载的文件,进入安装界面,点击"next"进入下一步.(如图2所示) 图2 3.最新版的Android Studio在这一步并没有sdk,需要 ...
- Android studio 和 gradle插件版本对应关系(最新 2022年)
官网链接:Android Gradle 插件版本说明 | Android 开发者 | Android Developers 由于网络的问题,在更新了Android studio版本之后,不能同 ...
- Android Studio 3.0 正式版本 发行说明 (翻译)
前言 as终于发正式版了.赶快来看看有什么新的功能.本文采用翻译器翻译. Android Studio是为Android开发的官方IDE,包含构建Android应用程序所需的一切. 1.要获取最新版本 ...
- android studio cmake 2.2使用案例
使用Android Studio 2.2和Cmake (CMakeLists)让OpenCV 飞起来 标签: androidopencvcmake 2016-11-22 13:23 1505人阅读 评 ...
- android studio 与gradle的版本对应
参考官网:https://developer.android.com/studio/releases/gradle-plugin.html Plugin for Gradle 和 Gradle 之间的 ...
最新文章
- vim关闭下一行也是注释_10分钟教你为自己打造一个专属VIM
- python 三步问题
- U3D 扩展方法 Dotween tolua
- mysql2阶段提交具体实现_ShardingSphere 4.x 分布式事务之实现原理
- jQuery——封装form表单的数据为json对象
- C# 网络编程之使用Socket类Send、Receive方法的同步通讯
- WPF--ComboBox数据绑定
- 广义线性模型_广义线性模型(第六章补充)
- CGIC库的移植及使用
- linux中终止停止进程_如何在Linux中终止进程或停止程序
- 5-2计算机视觉的常见概念
- 思维导图是如何做会议记录的
- Windows安装杜比音效驱动
- QQ IM架构学习总结
- 采购人必须明白的八大发展趋势及原则
- TensorFlow 2.0 教程-词嵌入
- 代码质量好坏如何评判
- Node.js概述及编程基础
- 【UNR #1】合唱队形
- Low Poly Epic City的脚本研究日志(2)(2022.3.1)
热门文章
- 数据结构与算法:二叉树专题
- python做游戏脚本被监测_一个监视CSDN论坛押宝游戏状态的python脚本
- 程序人生 - 祝贺荣获《Java领域优质创作者》称号
- 设计模式之美-11| 实战一(下):如何利用基于充血模型的DDD开发一个虚拟钱包系统?
- [转载]C罗皇马蜜月结束 “独性”不改或遭弃
- 分享几个网站模板网站,免费的哦~~~
- 【怎么制作ppt】Focusky教程 | 导入PPT后出现内容丢失怎么办?
- Tampermonkey[油猴插件]开发者的神级工具!
- IDC追踪报告:帆软软件蝉联中国BI市场占有率第一
- 总是反酸是慢性胃炎的标志?