无法在Android Studio中找到CMake

ash*_*hra 62 android cmake android-ndk android-studio

我需要在我的Android程序中添加C/C++代码,我需要LLDB,CMake和NDK.我在SDK管理器中找到了LLDB和NDK,但那里缺少CMake.我尝试从CMake官方网站手动下载它,发现对于Android我们需要SDK定制的CMake.

在此输入图像描述

如你所见,没有像CMake这样的选择.

我在哪里可以找到适用于Android的CMake版本?

我在网站上尝试过CMake,在ndk-bundle/build文件夹中找到了一个,但两者都给出了同样的错误.可以用它做什么以及如何解决问题?

Build command failed.

Error while executing 'C:\Users\amishr33\AppData\Local\Android\sdk\cmake\bin\cmake.exe' with arguments {-HC:\Users\amishr33\AndroidStudioProjects\MyApplication\app\src\main\jni -BC:\Users\amishr33\AndroidStudioProjects\MyApplication\app\.externalNativeBuild\cmake\debug\armeabi -GAndroid Gradle - Ninja -DANDROID_ABI=armeabi -DANDROID_NDK=C:\Users\amishr33\AppData\Local\Android\sdk\ndk-bundle -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=C:\Users\amishr33\AndroidStudioProjects\MyApplication\app\build\intermediates\cmake\debug\obj\armeabi -DCMAKE_BUILD_TYPE=Debug -DCMAKE_MAKE_PROGRAM=C:\Users\amishr33\AppData\Local\Android\sdk\cmake\bin\ninja.exe -DCMAKE_TOOLCHAIN_FILE=C:\Users\amishr33\AppData\Local\Android\sdk\ndk-bundle\build\cmake\android.toolchain.cmake -DANDROID_NATIVE_API_LEVEL=15 -DCMAKE_CXX_FLAGS=-std=c++11 -DANDROID_TOOLCHAIN=clang -DANDROID_STL=gnustl_static}
CMake Error: Could not create named generator Android Gradle - Ninja
Generators
  Visual Studio 15 2017 [arch] = Generates Visual Studio 2017 project files.
                                 Optional [arch] can be "Win64" or "ARM".
  Visual Studio 14 2015 [arch] = Generates Visual Studio 2015 project files.
                                 Optional [arch] can be "Win64" or "ARM".
  Visual Studio 12 2013 [arch] = Generates Visual Studio 2013 project files.
                                 Optional [arch] can be "Win64" or "ARM".
  Visual Studio 11 2012 [arch] = Generates Visual Studio 2012 project files.
                                 Optional [arch] can be "Win64" or "ARM".
  Visual Studio 10 2010 [arch] = Generates Visual Studio 2010 project files.
                                 Optional [arch] can be "Win64" or "IA64".
  Visual Studio 9 2008 [arch]  = Generates Visual Studio 2008 project files.
                                 Optional [arch] can be "Win64" or "IA64".
  Visual Studio 8 2005 [arch]  = Generates Visual Studio 2005 project files.
                                 Optional [arch] can be "Win64".
  Visual Studio 7 .NET 2003    = Deprecated.  Generates Visual Studio .NET
                                 2003 project files.
  Borland Makefiles            = Generates Borland makefiles.
  NMake Makefiles              = Generates NMake makefiles.
  NMake Makefiles JOM          = Generates JOM makefiles.
  Green Hills MULTI            = Generates Green Hills MULTI files
                                 (experimental, work-in-progress).
  MSYS Makefiles               = Generates MSYS makefiles.
  MinGW Makefiles              = Generates a make file for use with
                                 mingw32-make.
  Unix Makefiles               = Generates standard UNIX makefiles.
  Ninja                        = Generates build.ninja files.
  Watcom WMake                 = Generates Watcom WMake makefiles.
  CodeBlocks - MinGW Makefiles = Generates CodeBlocks project files.
  CodeBlocks - NMake Makefiles = Generates CodeBlocks project files.
  CodeBlocks - Ninja           = Generates CodeBlocks project files.
  CodeBlocks - Unix Makefiles  = Generates CodeBlocks project files.
  CodeLite - MinGW Makefiles   = Generates CodeLite project files.
  CodeLite - NMake Makefiles   = Generates CodeLite project files.
  CodeLite - Ninja             = Generates CodeLite project files.
  CodeLite - Unix Makefiles    = Generates CodeLite project files.
  Sublime Text 2 - MinGW Makefiles
                               = Generates Sublime Text 2 project files.
  Sublime Text 2 - NMake Makefiles
                               = Generates Sublime Text 2 project files.
  Sublime Text 2 - Ninja       = Generates Sublime Text 2 project files.
  Sublime Text 2 - Unix Makefiles
                               = Generates Sublime Text 2 project files.
  Kate - MinGW Makefiles       = Generates Kate project files.
  Kate - NMake Makefiles       = Generates Kate project files.
  Kate - Ninja                 = Generates Kate project files.
  Kate - Unix Makefiles        = Generates Kate project files.
  Eclipse CDT4 - NMake Makefiles
                               = Generates Eclipse CDT 4.0 project files.
  Eclipse CDT4 - MinGW Makefiles
                               = Generates Eclipse CDT 4.0 project files.
  Eclipse CDT4 - Ninja         = Generates Eclipse CDT 4.0 project files.
  Eclipse CDT4 - Unix Makefiles= Generates Eclipse CDT 4.0 project files.
Error:executing external native build for cmake C:\Users\amishr33\AndroidStudioProjects\MyApplication\app\src\main\jni\CMakeLists.txt
Run Code Online (Sandbox Code Playgroud)

Kem*_*ürk 109

  • 打开SDK Manager
  • 切换到SDK工具选项卡
  • 安装CMake

示例图像

  • 对于因为没有特定版本的 CMake 而到达这里的任何人(对我来说,在 SDK、PATH 或 cmake.dir 属性中找不到“CMake '3.10.2'”。)单击“显示包详细信息”右下角的“框允许您下载特定版本。 (26认同)
  • 我认为问题是SDK Tools中没有CMake (10认同)

Fáb*_*lho 26

如果您执行以下操作,您可以毫无问题地获得CMake:

  1. 打开设置(Android Studio);
  2. 按"Android SDK"搜索;
  3. 在右侧,转到"SDK工具"托盘|标签;
  4. 检查列表中的"CMake"项目;
  5. 按下OK按钮;
  6. 现在,等待Gradle构建的下个世纪,= D.


use*_*865 13

  1. 检查应用程序模块的build.gradle文件

    externalNativeBuild {
        cmake {
            path "CMakeLists.txt"
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 删除该cmake部分

  3. 重新同步项目:转到菜单Build - > Refersh Lined C++ Projects

  4. 右键单击模块,例如应用程序模块,从菜单中选择"使用Gradle链接C++项目".

  5. 您应该看到类似于下图所示的对话框.

    在此输入图像描述

  6. 单击确定.


小智 8

  • 转到Android SDK管理器
  • 选择Android SDK工具
  • 找到CMake并单击Apply下载.
  • 稍后点击 OK 说明


小智 7

实际上,我不确定我的解决方案是否相关,无论如何我都会将其留在这里

转到/Users/yournamehere/Library/Android/sdk/ndk我找到该版本21.4.7075529并将其删除,然后使用 android studio 再次下载相同的版本configuration > Preferences,并按照附图中的步骤操作在此输入图像描述


Alb*_*rto 0

检查一下,我认为这个网站解释了您需要什么:

https://codelabs.developers.google.com/codelabs/android-studio-cmake/index.html?index=..%2F..%2Findex#0

请记得检查“您需要什么”

更新:

NDK:https://developer.android.com/ndk/downloads/index.html 来源: https: //developer.android.com/ndk/index.html

CMake: https: //cmake.org/files/v3.7/cmake-3.7.1-win64-x64.zip 来源: https: //cmake.org/

LLDB(仅适用于 Debian 系统):http://apt.llvm.org/ 来源:http://lldb.llvm.org/download.html

下载这些文件后,复制到您的 SDK 文件夹(通常位于:“C:\android-sdk\”)您可以在此处本地化该文件夹:

  1. 文件->项目结构进入项目结构
  2. 左 -> SDK 位置

下载后您可以继续之前的指南:)

  • 我已经尝试过这部分,从其网站手动下载 cmake 并将其保存在 sdk 文件夹中。但它不起作用。在我对这个问题的研究中,我发现 SDK 使用了专门为 android 定制的 CMake,我正在尝试找到该版本的 CMake。 (2认同)