Unable to find CMake in android studio

匿名 (未验证) 提交于 2019-12-03 01:26:01

问题:

I need to add C/C++ code in my android program for which I needed LLDB, CMake, and NDK. I found LLDB and NDK in SDK manager but CMake is missing from there. I tried manually downloading it from CMake official site and found out that for android we need SDK customized CMake.

As you can see there is no option such as CMake.

Can anyone help to find version of CMake for android? Thanks in advance.

UPDATE

Edit: I have tried CMake from the website and one I found in ndk-bundle/build folder, but both are giving the same error as below. Please take a look and let know if you can make something out of it and help solve the issue. Thank you.

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 

回答1:

Open SDK Manager, switch to SDK Tools and download Cmake.I solved my problem like this.



回答2:

If you do the following you may get the cmake without any problems:

  1. Open the Settings (Android Studio);
  2. Search by "Android SDK";
  3. On the right side, go to the "SDK Tools" pallet|tab;
  4. Check the "CMake" item on the list;
  5. Press "Ok" button;
  6. Now, just wait the next century while the gradle builds, =D .

Sorry for my english....



回答3:

Go to android SDK manager Select Android SDK Tools Find Cmake and click Apply to download. Later Click ok



回答4:

  1. Check in your build.gradle file for your App's module

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

  2. remove the cmake section

  3. re-sync the project:
    go to menu Build -> Refersh Lined C++ Projects

  4. Right-click on the module, such as the app module, select "Link C++ Project with Gradle" from the menu.

  5. You should see a dialog similar to the one shown in below figure.

  6. Click OK.



回答5:

You can install it in the SDK Manager Tools, but first you must close your opened project. Use configuration on start menu.



回答6:

Check this, I think this site explains what u need:

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

Remember to check the "What you'll need"

Update:

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

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

LLDB (Just for debain systems): http://apt.llvm.org/ source: http://lldb.llvm.org/download.html

Once you download these files, copy to your sdk folder (normally in: "C:\android-sdk\") You can localize the folder here:

  1. File -> project Structure into Project Structure
  2. Left -> SDK Location

Then you can continue with the previous guide after the downloads :)



回答7:

In my case changing CMake path worked :

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


回答8:

In my case (Android Studio 3.0), there was no CMake in the "SDK Tools" tab in "Appearance & Behaviour -> System Settings -> Android SDK" options. However I noticed that in the "SDK Update sites" tab, there are only two entries, one of which (Android Repository https://dl.google.com/android/repository/repository2-1.xml) had a red mark in the "enabled" column. It read "error 407" on mouseover, which is a proxy authentication error. I had the correct proxy settings (test connection worked fine with the same repository URL), so this was very strange. Restarting android studio didn't help. So I added a new entry with the same repository and this time it worked fine and CMake appeared in the other tab. Hope this helps someone.



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!