如果您更改了应用 – > appModule,你可能会尝试
>从AS关闭项目
>用AS重新打开它
>构建>刷新链接的C项目(这将“强制”C构建端清理事物)
Studio 3.3.0有a bug影响IDE行为,请使用版本3.3.1或better
对于Gradle的CMake支持,应用程序可以以3种方式使用它,从最明确的方式开始“默认”:
香草CMake
假设Vanilla CMake从CMake.org本地下载,配置Gradle
>告知gradle cmake目录所在的位置,在local.properties中,如:cmake.dir = / your / vanilla / cmake / dir / like / linux-3.14.0
>将cmake版本传递给app / build.gradle文件中的gradle,例如
android {
externalNativeBuild {
version "3.14.0-rc2"
path '....' // point to your CMakeLists.txt, relative path to
// THIS app/build.gradle file.
}
}
Vanilla CMake的缺点可能是SDK中的模块(如AndroidNdkModules.cmake)可能不在您的模块路径中:项目没有使用SDK / Studio内部打包的CMake.
明确选择SDK的CMake
截至目前,SDK发布了2个cmake版本:3.6.0-rc2和3.10.2.您的sdk经理会将它们下载到内部已知目录(sdk / cmake).项目可以选择一个特定的使用.当然你可以使用上面的“Vanilla CMake”方式,即应用程序配置所有内容 – 将cmake.dir指向你的$SDK的cmake路径(一直到但不包括’bin / cmake’).
您也可以忽略cmake.dir配置(Studio提供了这种便利,因为它在sdk中并由sdk manager下载),因此您只需要在’app / build.gradle’中配置cmake版本
android {
externalNativeBuild {
version "3.10.2"
path '....'
}
}
关于gradle插件功能的2个cmake版本之间没有区别,区别在于cmake本身在2个版本之间的功能.
使用默认值:让Studio决定cmake版本
目前gradle插件的默认cmake选择是内部3.6.0-rc2版本.因此,如果您不配置’cmake.dir’和’version’,则默认设置正在运行.你当然可以用“Vanilla CMake”方式配置它:cmake路径和版本;它有点害怕,但有一个小好处:当Studio / Gradle将cmake默认更改为3.10.2或其他时,您的应用程序不会受到影响.我们鼓励应用程序使用最新版本.作为应用程序开发人员,我可能也希望我的应用程序具有固定的行为,而不管构建工具的版本如何;从这个意义上说,明确的方式有帮助
补充笔记
> CMake版本:您可以运行’cmake –version’来获取正确的版本号来配置build.grale,它不是嵌入在sdk的cmake目录中的完整数字.
>您的顶级CMakeLists.txt位置:对gradle插件漠不关心.实际上,您可以将它与C代码放在一起,因此当您与其他平台共享时,它们(c构建脚本和源代码)位于一个目录中.