Подтвердить что ты не робот

Невозможно найти CMake в Android Studio

Мне нужно добавить код C/C++ в мою программу Android, для которой мне нужны LLDB, CMake и NDK. Я нашел LLDB и NDK в менеджере SDK, но оттуда отсутствует CMake. Я попытался вручную загрузить его с официального сайта CMake и обнаружил, что для Android нам нужен CMake, настроенный в SDK.

Enter image description here

Как видите, такой опции, как CMake, нет.

Где я могу найти версию CMake для Android?

Я пробовал 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
4b9b3361

Ответ 1

  • Откройте SDK Manager
  • Перейдите на вкладку Инструменты SDK tab
  • Установить CMake

Example Image

Ответ 2

Если вы выполните следующее, вы можете получить CMake без проблем:

  1. Откройте настройки (Android Studio);
  2. Поиск по "Android SDK";
  3. С правой стороны перейдите на вкладку "Инструменты SDK" |
  4. Проверьте пункт "CMake" в списке;
  5. Нажмите кнопку OK;
  6. Теперь, просто подождите в следующем веке, пока Gradle строит, = D.

Ответ 3

  1. Проверьте файл build.gradle для своего модуля приложения

    externalNativeBuild {
        cmake {
            path "CMakeLists.txt"
        }
    }
    
  2. Удалить раздел cmake

  3. Повторно синхронизируйте проект: перейдите в меню Build → Refersh Lined C++ проектов

  4. Щелкните правой кнопкой мыши по модулю, такому как модуль приложения, выберите в меню "Связать проект C++ с Gradle".

  5. Вы должны увидеть диалог, похожий на тот, что показан на рисунке ниже.

    Enter image description here

  6. Нажмите ОК.

Ответ 4

  • Перейти к Android SDK manager
  • Выберите Инструменты Android SDK
  • Найдите CMake и нажмите Apply для загрузки.
  • Позже нажмите OK Instructions

Ответ 5

В моем случае (Android Studio 3.0) на вкладке "Инструменты SDK" в настройках "Внешний вид и поведение → Параметры системы → Android SDK" не было CMake. Однако я заметил, что на вкладке "Сайты обновления SDK" есть только две записи, одна из которых (Android Repository https://dl.google.com/android/repository/repository2-1.xml) имела красную метку в столбце "включено". При наведении курсора он прочитал "ошибка 407", что является ошибкой аутентификации прокси. У меня были правильные настройки прокси (тестовое соединение работало нормально с тем же URL репозитория), так что это было очень странно. Перезапуск андроид студии не помог. Поэтому я добавил новую запись с тем же хранилищем, и на этот раз она работала нормально, а CMake появился на другой вкладке. Надеюсь, это кому-нибудь поможет.

Ответ 6

Вы можете установить его в SDK Manager Tools, но сначала вы должны закрыть свой открытый проект. Используйте конфигурацию в меню "Пуск".

Ответ 7

enter image description here

  1. Откройте Android Studio 🙂
  2. Наведите указатель мыши на панель инструментов, пока не найдете SDK Manager, как показано на изображении выше
  3. Нажмите на SDK Manager
  4. В настройках по умолчанию перейдите в раздел "Внешний вид и поведение"
  5. Теперь выберите Системные настройки
  6. Теперь выберите Android SDK
  7. Нажмите на Инструменты SDK
  8. Проверьте на CMake

Ответ 8

Проверьте, используете ли вы 64-разрядную версию Android Studio. В 32-разрядной версии Android Studio CMake не будет отображаться в SDK Manager.

Ответ 9

путь к модулю, в котором находится ваш cmake

если ваш cmake существует в главном приложении

 externalNativeBuild {
                cmake {
                        path "CMakeLists.txt"
                      }
            }

если ваш cmake существует в любом модуле

  externalNativeBuild {
                cmake {
                    path file('../modulelib/CMakeLists.txt')
                }
            }

где "modulelib" - это имя вашей папки библиотечного модуля

Ответ 10

Проверьте это, я думаю, что этот сайт объясняет, что вам нужно:

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

Затем вы можете продолжить с предыдущим руководством после загрузки :)

Ответ 11

В моем случае изменение CMake path сработало:

externalNativeBuild {
    /*
      cmake {
          path "CMakeLists.txt"
      }
    */

    cmake {
        path 'src/main/jni/opus/CMakeLists.txt'
    }
}

Ответ 12

Для меня Mac OS Android студия. в File-> Project Structure-> Project я изменил версию Gradle на 4.4 и версию плагина Android на 3.1.0, тогда все становится хорошо.

Кроме того, вы также можете изменить версию плагина Android в gradle-> classpath 'com.android.tools.build:gradle:3.1.0'

Ответ 13

Для меня то, что решил, как снять вариант "версия" в моем gradle

 externalNativeBuild {
        cmake {
            path "src/main/cpp/CMakeLists.txt"
            //version was here
        }
    }