Android Studio错误与System CMake通信

时间:2017-12-03 01:17:47

标签: android-studio cmake

我刚刚在OS X High Sierra上使用Android Studio 3.0.1创建了一个支持C ++的简单Android项目,我正试图弄清楚如何获得CMake支持。

我无法通过Android Studio安装CMake,因为项目出错并且菜单中没有Tools > Android选项。

这是项目的样子:

without-android-tools

为了比较,这是另一个没有C ++支持的简单项目,显示Tools > Android选项。

with-android-tools

我阅读了有关配置Android Studio以使用系统cmake的内容。显然,您可以覆盖项目的cmake.dir文件中的local.properties设置:

https://developer.android.com/studio/projects/add-native-code.html

摘录:

  

在项目的

中包含CMake安装的路径      

local.properties file: cmake.dir="path-to-cmake"

所以,我将cmake.dir设置为/usr/local(因为我之前已经通过自制软件安装了cmake并更改了属性文件)

现在读取(用您的主目录替换~

# ... some comments warning you not to modify
# the properties file ...
ndk.dir=~/Library/Android/sdk/ndk-bundle
sdk.dir=~/Library/Android/sdk
cmake.dir="/usr/local"

Android Studio现在会显示错误消息(插入新行和\以显示易读性,主目录替换为~):

Error:Error occurred while communicating with CMake server. 
Check log 
~/AndroidStudioProjects/Cpptest/
\ app/.externalNativeBuild/cmake/
\ debug/armeabi-v7a/cmake_server_log.txt
for additional information.

但是,该文件的内容表明cmake二进制文件在响应Android Studio调用的命令时做了一些合理的事情。

CMAKE SERVER:-

CMAKE SERVER: [== "CMake Server" ==[

CMAKE SERVER: {"supportedProtocolVersions":[{"isExperimental":true,"major":1,"minor":1}],"type":"hello"}

CMAKE SERVER: ]== "CMake Server" ==]

系统CMake版本3.10.0大于3.7(我相信支持的最低版本)。

  • 如何“说服”Android Studio使用系统CMake?
  • 如果Tools > Android不可用,是否可以安装IDE管理的CMake发行版?
  • 如果这两个选项都不简单,我可以将Android Studio配置为使用不同的C ++源代码构建系统,例如GNU Make或仅仅是普通的gradle吗?

2 个答案:

答案 0 :(得分:1)

所以,我仍然不知道为什么指向系统CMake的Android Studio不起作用。我还尝试通过他们的网站(https://cmake.org/download/)安装“完整CMake”分发并指向/Applications/CMake.app/Contents/

但是,即使CMake没有出现,也可以在OS X上的Android Studio中以不同的方式安装lldbTools > Android

那就是:

Preferences > Appearance & Behavior > System Settings > Android SDK > SDK Tools

或等效地, Cmd 然后在搜索字段中输入sdk,然后点击SDK Tools标签。

这是一张照片。

enter image description here

答案 1 :(得分:0)

早期版本的外部CMake支持存在问题,我们不支持未来的CMake服务器协议版本。这已经得到修复。如果您尝试使用最新的Android Studio 3.1,我认为它应该可以使用。